自学内容网 自学内容网

零散的知识

1.物化

在SQL中,物化(Materialization)是指将查询结果保存为物理数据结构以供后续使用的过程。这与普通的视图或查询不同,物化视图会存储查询的结果,而不是每次查询时都动态地重新计算数据。

①物化视图
物化视图是一种数据库对象,它存储基于查询语句预先计算的结果数据。与普通视图不同,普通视图只是保存查询语句本身,每次访问时都会重新执行查询,而物化视图则保存查询的实际结果,当用户查询物化视图时,直接返回存储的结果,而不是重新执行查询。

②物化目的
物化的主要目的是提高查询性能。对于复杂的查询或需要跨多个表进行大量计算的情况,物化视图可以通过预计算结果并存储这些结果,减少对基础表的重复查询,从而提高查询响应速度。

③物化总结
物化是指将查询结果预先计算并存储的过程,主要体现在物化视图中。物化视图存储了查询的结果,可以在查询时直接使用这些预先计算的结果,从而提高查询性能,特别是在处理复杂查询、聚合操作或跨表联结时。然而,物化视图的数据需要定期刷新,以确保结果与基础表保持同步。

2.SQL注入

SQL注入的原理是将恶意的SQL代码作为输入传递给应用程序,由于应用程序没有对输入进行正确的过滤或转义,导致这些恶意的SQL代码被数据库解释并执行。这样,攻击者可能会绕过身份验证、获取敏感数据,甚至删除或修改数据库内容。

SELECT * FROM users WHERE username = 'user_input' AND password = 'user_password';

SELECT * FROM users WHERE username = '' OR '1'='1' AND password = '';
这意味着即使密码是错误的,由于条件'1'='1'总为真,攻击者能够绕过身份验证登录到系统中。

3.主键的特性

虽然主键和**唯一键(UNIQUE Key)**都有唯一性约束,但它们有以下几个区别:

主键不能包含空值,而唯一键允许空值。
一个表中只能有一个主键,但可以有多个唯一键。
主键用于唯一标识每一行记录,而唯一键主要用于确保某些字段的值不会重复。

4.ctrl+z、ctrl+c

能用ctrl+c就用ctrl+c,这是代表终止进程
ctrl+z不要用,代表着暂停进程,fg是继续执行。这条指令会导致很多的僵尸进程(最近遇到一个问题,就是因为使用了ctrl+z,导致僵尸进程总是停不掉,还找不到父函数,只能环境重启)

5.map、unordered_map

  • map:底层实现为 红黑树(self-balancing binary search tree)。
  • unordered_map:底层实现为 哈希表(hash table)。
     
  • map:由于是基于红黑树,查找、插入和删除操作的时间复杂度为 O(log n),其中 n 是容器中元素的数量。
  • unordered_map:基于哈希表的 unordered_map,查找、插入和删除操作的平均时间复杂度为 O(1)。不过,最坏情况下,由于哈希冲突,复杂度可能达到 O(n)


原文地址:https://blog.csdn.net/m0_47489229/article/details/142194606

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!