mysql组合索引

2017-05-26  本文已影响0人  天蝎scorpion

在有些查询过程中,我们查询数据的时候,为了提高查询效率,于是我们就会给表字段加索引,那么组合索引就是其中的一种。

使用组合索引的场合是我们需要给表字段添加索引。

组合索引采用的是最左前缀原则,比如我们建立了组合索引(name, age, id),那么我们使用者三个条件的时候就可以使用组合索引,从而更高的提升效率。

但是使用组合索引的时候有一些注意事项,当遇到以下条件时索引会有一些问题

1、like查询,并且是%在前面,这个时候索引是不生效的

2、范围查找,比如>,<,IN什么情况下是范围查询,如果有order by排序时,多个等于条件查询就是范围查询,没有order by排序就没有限制。比如,如果遇到***where name=‘xiaoming’ and age>15 and id=1,这个时候id这个索引是不生效的。但是如果是***where name=‘xiaoming’ and id=1 and age>15则所有的索引都会生效。

3、如果使用的是or查询或者是函数式的查询,则索引也不会生效。

上一篇下一篇

猜你喜欢

热点阅读