Mysql 索引的使用 如何避免索引失效 文章目录 Mysql 索引的使用 如何避免索引失效 1, 全值匹配 2,最左前缀法则 3,范围查询,右边的列,不能使用索引 4,在某一列上使用了运算操作,索引将失效 5,字符串不加单引号,造成索引失效 6,尽量使用覆盖索引,避免select * 7,用or分割的条件 8,以%开头的like模糊查询,索引失效 9,如果MySQL评估使用索引比全表扫描更慢,则不使用索引 10,is NULL和is NOT NULL ==有时==索引失效 1, 全值匹配 对索引中所有列都指定具体值,这时,索引生效,执行效率高 2,最左前缀法则 如果建立了复合索引,要遵守最左前缀法则。指的是查询要从索引的最左前列开始,索引的列可以不全用,但是不能跳过索引中的列 下面是示例 可以看见三种情况下,索引都生效 但是,如果没有第一列的name字段,是不会使用索引的 注意:这里的最左前缀,指的是查询条件是否包含,而与where后的字段顺序无关,下面这张图作为验证