
sql
文章平均质量分 64
じ小奋斗_
这个作者很懒,什么都没留下…
展开
-
索引是建立得越多越好吗?
到这里有的人可能就有些疑问了。既然创建索引能够提高我们的查询效率,那索引是建立得越多越好吗?答案是否定的。物极必反,通过前面的学习我们对索引有了一个比较全面的理解。分为下面几个方面来回答。数据量小的表不需要建立索引,因为建立索引会增加额外的开销。(这就好比我们去读个两页的宣传手册,随还回去看目录呢)数据变更需要维护索引,因此更多的索引意味着更多的维护成本。更多的索引也意味着需要更多的空间(这就好比一本50页的书却有50页的目录,这样谁还愿意去读呢。那书本是不是更厚了)...原创 2022-06-06 17:42:45 · 1831 阅读 · 0 评论 -
联合索引的最左匹配原则的成因
上面我们只看的是单一的索引,接下来咱们来看看联合索引,也就是回答第二个问题。联合索引的最左匹配原则的成因。什么是联合索引呢,就是由多列组成的索引了。那亦要了解其成因,那先看看什么是最左匹配原则。假设我们有两列 A,B 那我们对A和B设置一个联合索引,就是将A和B都设置为索引。它的顺序呢是A,B。我们在where 语句中调用where A = ?and b = ? 的时候呢,它就会走联合索引。如果我么们要where A = ?它也会走这个联合索引,但是我们调 where b = ? 的时候,没有A的时候他就不原创 2022-06-06 17:41:05 · 1122 阅读 · 1 评论 -
网络基础知识讲解
网络基础知识讲解前言:现在很多程序员不太注重网路知识的理解,因为编程的时候很多时候不用我们来编写Scoket这些东西的,并且底层服务很好的进处理了数据包的解析,所以貌似网络方面的知识是不用我们去关心的,这就实际上类似于框架底层的东西平时能满足我们的时候呢,我们并不太去关心他们。但要真的出了问题比如性能没办法满足我们的需求的时候,这时如果不熟悉底层的话,我们往往束手无策,此种情况同样适用于网络,比如说比没有办法判定程序为什么会变慢,是网络的原因还是别的原因数据包有没有丢失,为什么造成大量的wait,为什么原创 2022-01-12 17:26:01 · 192 阅读 · 0 评论 -
锁模块之MyISAM与InooDB关于锁方面的区别
锁锁模块之MyISAM与InooDB关于锁方面的区别了解完关系型数据库和索引相关的知识点后,我们来讲讲锁。我们来看看锁方面的常见问题。MyISAM和InnoDB关于锁方面的区别是什么?数据库事务的四大特性事务隔离级别,以及各级别下的并发访问的问题InnoDB可重复读隔离级别下如何避免幻读RC,RR级别下的InnoDB的非阻塞读如何实现1.MyISAM和InnoDB关于锁方面的区别是什么下面来解答第一个问题,这里先给出答案。MyISAM默认使用的是表级锁,不支持行级锁。Inno原创 2022-01-12 17:25:34 · 285 阅读 · 0 评论 -
数据库索引
数据库索引接下来来到数据库知识的重点模块。索引模块 。1.为什么要使用索引?这个问题比较宽泛,要回答这个问题咋们先对查询数据的方式做个调研。我们先试试用最简单的方式来进行数据查询,他便是全表扫描,即将整张表的数据一次或者分批次加载到内存当中,刚刚我们说到存储的最小单位是块或者页它们是由多行数据来组成的,然后呢我们将这些块都加载进来然后逐个块去轮询找到我们要的目标并返回这种方式普遍是认为是非常的慢的,那它在所有的情况下都这么慢吗?其实上存在集合里他也有很适用的地方,比如说当一则很少量的数据十行或者几十行原创 2022-01-12 17:25:04 · 208 阅读 · 0 评论 -
SQL关键语法讲解
关键SQL语句在面试过程当中面试官经常会让我们写一些复杂的sql语句。这部分像极了客观题程序不会骗人一会就能写对,不会就很有可能写不出来。我们这里不会讲基础的语法如select,where,join之类。这些假定大家已经比较清楚了。我们这里主要讲两个重要的语法GROUP BYHAVING看到这两个,我们就应该会想到和它们相关的都是去做一些统计的事情。以及t统计相关 COUNT,SUM,MAX,MIN,AVGGROUP BY满足,“select 子句中的列名必须为分组列或者列函数”原创 2021-09-20 12:40:26 · 99 阅读 · 0 评论