mysql 联合索引 abc_ABC联合索引生效问题(整理笔记!!!)
版權聲明:本文為博主原創文章,遵循CC 4.0 by-sa版權協議,轉載請附上原文出處鏈接和本聲明。
本文鏈接:https://blog.csdn.net/qq_42630887/article/details/97113323
對于復合索引:Mysql從左到右的使用索引中的字段,一個查詢可以只使用索引中的一部份,但只能是最左側部分。例如索引是key index (a,b,c)。 可以支持a | a,b| a,b,c 3種組合進行查找,但不支持 b,c進行查找 .當最左側字段是常量引用時,索引就十分有效。
以下是一些例子:
(1) select * from myTest where a=3 and b=5 and c=4; ---- abc順序
abc三個索引都在where條件里面用到了,而且都發揮了作用
(2) select * from myTest where c=4 and b=6 and a=3;
where里面的條件順序在查詢之前會被mysql自動優化,效果跟上一句一樣
(3) select * from myTest where a=3 and c=7;
a用到索引,b沒有用,所以c是沒有用到索引效果的(b沒有使用到,所以索引達不到 c ,所以c未使用索引)
(4) select * from myTest where a=3 and b>7 and c=3; ---- b范圍值,斷點,阻塞了c的索引
a用到了,b也用到了,c沒有用到,這個地方b是范圍值,也算斷點,只不過自身用到了索引<
總結
以上是生活随笔為你收集整理的mysql 联合索引 abc_ABC联合索引生效问题(整理笔记!!!)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言迷宫如何实现多个关卡,c语言实现迷
- 下一篇: Mysql 杀死进程 | 解决Lock