mysql索引的最左原则

时间:2024-11-05 06:09:41

1、where条件 col2='安徽' (不走索引)注:建立联合索引时会遵循最左前缀匹配的原则,组合索引的第一个字段必须出现在查询组句中,这个索引才会被用到

mysql索引的最左原则

2、where条件为 col3='赵英明' and id=2 或id=2 and col3='赵英明' (id走索引)

mysql索引的最左原则

3、where条件为col1='057128256072' and col2='浙江' and col3 like '%俞磊' (col1,col2走索引)注:优化查询条件一批匹配索引的位置,直到遇到范围查询(>、<、between、like)就停止匹配

mysql索引的最左原则

4、where条件为col2='浙江'挢旗扦渌; and col1='057128256072' 或col1='057128256072' and col2='浙江' (都走索引)注:索引的字段可以是任意顺序的,会对联合合索引的最左边的,也就是第一个字段col1的数据进行排序,在第一个字段的排序基础上,然后再对后面第二个字段col2进行排序。其实就相当于实现了类似 order by col1 col2这样一种排序规则。

mysql索引的最左原则

5、where条件为col1='055165217615' and col5=0 and col2='安徽' (col1列用索引)

mysql索引的最左原则

6、where条件为 col5=0 and col1='055165217615' and col2='安徽' (col1,col2用了索引index1)注:索引使用顺序没有改变

mysql索引的最左原则

7、表中col5的列增加索引index2where条件为col1='055165217615' and col5=0 and col2='安徽'(col1列col5列使用索引)

mysql索引的最左原则

8、where条件为col1='055165217615' and col5='z茑霁酌绡[email protected]' 或col5='[email protected]' and col1='055165217615' (都使用了index2的索引)注:MySQL会试图选择一个限制最严格的索引

mysql索引的最左原则
© 手抄报圈