1. 程式人生 > >資料庫索引最左字首原則

資料庫索引最左字首原則

資料庫最左字首原則

最左字首原則:顧名思義是最左優先,以最左邊的為起點任何連續的索引都能匹配上,

注:如果第一個欄位是範圍查詢需要單獨建一個索引

注:在建立多列索引時,要根據業務需求,where子句中使用最頻繁的一列放在最左邊。

當建立(a,b,c)複合索引時,想要索引生效的話,只能使用 a和a,b和a,b,c三種組合

例項:以下是常見的幾個查詢:

mysql>SELECT `a`,`b`,`c` FROM A WHERE `a`='aa' ;

mysql>SELECT `a`,`b`,`c` FROM A WHERE `b`='bb' AND `c`='cc';

mysql>SELECT `a`,`b`,`c` FROM A WHERE `a`='aa' AND `c`='cc';

請問:想要索引最大化的使用需要至少建幾個索引

答:需要建立兩個複合索引:a,c、b,c

 

 

原理:

採用B+樹結構,如果是複合索引,比如 a,b,c

是先對a進行建立索引的結果下,再對b進行建立索引, 然後在以上的結果下,對c進行建立索引

 

因此,只有a, ab, abc ,這三種情況下是有序的,會走索引,

如果光看b, 是無序的。

https://blog.csdn.net/qq_19557947/article/details/76951912

https://www.cnblogs.com/weizhixiang/p/5914120.html 推薦