mysql联合索引的原理,mysql联合索引的原理的一道题

1f051056b9ee5a12240c8186c9367975.png

可以看到结果,索引用于c1,c2,c3,c4,我们稍微改变了A的结果:

删除c2条件后:

dac5f9b5ca45bba113149fbb943a9f43.png

上面的结果表明,直接使用c3是一个全表查询,并且无法使用索引,因此对c3字段使用索引的前提是c1和两个字段c2的索引。

是索引的最左端原理(左前缀原理)。

B选项:

06504348ffb19baab5e8f75e798404ca.png

使用group by通常会在排序之前生成临时文件,但是当字段顺序为c2,c3时,临时表不用于排序,而索引用于排序;当group by字段为c3时,c2由于索引字段的顺序不一致,因此该索引不用于分组和排序。

由key_len的长度决定,只有c1的一个字段使用索引。

D选项:

d3f9f68aee3417341c6bf82f724869df.png

实际上,在以上ABCD结果中已经对选项E的结果进行了分析。在这里,只有c1和c2字段使用此索引。

总结上述问题的答案:

答:索引在所有四个字段中使用

B:c1,c2字段使用此索引

C:c1字段使用此索引

D:c1字段使用此索引

E:c1,c2字段使用此索引

摘要:

索引的最左原则(左前缀原则),例如(c1,c2,c3,c4….cN)联合索引,其中条件按由索引建立的字段的顺序使用(确实(如果没有条件,则条件必须按顺序写),如果中间没有任何条件,或者使用like会导致后续的列无法使用索引。

索引也可以用于分组和排序。在计算平均值等时,必须首先对分组进行排序。因此,在分组和排序中,如果字段顺序可以符合索引字段的顺序,则可以利用索引的排序性质。 >

/p> 文章知识点与官方知识档案匹配,可进一步学习相关知识MySQL入门技能树深入索引隐藏索引31412 人正在系统学习中 相关资源:糖烟茶酒行业管理软件 烟酒进销存店铺销售收银管理系统

来源:瀚海酒笑歌

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年2月16日
下一篇 2021年2月16日

相关推荐