如果查询中的某列出现范围查询,则该列右边的列不能使用索引。

使用示例

创建索引:

ALTER TABLE `staffs` ADD INDEX idx_staffs_nameAgePos(`name`, `age`, `pos`);

使用范围查询:

EXPLAIN SELECT * FROM staffs WHERE `name`='July' AND age>25 AND pos='dev';

1611476952602.png

结果:

name 的索引列可以用于精确查找。

age 的索引列可以用于范围查找。

pos 的索引列失效。


小伍
139 声望4 粉丝