索引为何不可用

通过索引扫描的记录数超过30%,变成全表扫描。
联合索引中,第一个索引列使用范围查询(这时用到部分索引)。
联合索引中,第一个查询条件不是最左索引列。
模糊查询条件列最左以通配符%开始。
HEAP表使用HASH索引时,使用范围检索或者ORDER BY。
多表关联时,排序字段不属于驱动表,无法利用索引完成排序。
两个独立索引,其中一个用于检索,一个用于排序(只能用到一个)。
 
关于30%原则:如果扫描比例超过30%,则无法使用索引,而改成全表扫描,这是一个大概的比例,不是严格规则,随着5.7基于CBO规则的改进,这个比例会有更大变化。
原文地址:https://www.cnblogs.com/liang545621/p/9401448.html