1、在查询条件中计算索引列的使用函数或操作。
若已建立的索引字段在使用时执行函数操作,则该索引无法使用。
由于MySQL为该索引维护的B+树是基于该字段的原始数据,如果在使用过程中添加函数,MySQL将不会认为该字段是原始字段,因此当然不会使用该字段。
SELECT * FROM student WHERE round(age) = 2;
2、在like条件下使用%开头。
select * from student where name like '%bc%'
3、最左匹配原则。
最左匹配原则是指在联合索引中,如果您的sql句子中使用了联合索引中最左边的索引,则该sql句子可以使用该联合索引进行匹配,当遇到范围查询(>,<,between,like)时,将停止匹配。
4、使用or条件。
若要使or条件走索引,则需要在or条件中添加所有字段。
以上就是mysql引发索引失效的4种情况,希望对大家有所帮助。更多mysql学习指路:
推荐操作系统:windows7系统、mysql5.8、DELL G3电脑