数据库索引最左前缀原则

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_20009015/article/details/84647214

数据库最左前缀原则

最左前缀原则:顾名思义是最左优先,以最左边的为起点任何连续的索引都能匹配上,

注:如果第一个字段是范围查询需要单独建一个索引

注:在创建多列索引时,要根据业务需求,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 推荐

猜你喜欢

转载自blog.csdn.net/qq_20009015/article/details/84647214