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电脑
Copyright © 2019- ovod.cn 版权所有 湘ICP备2023023988号-4
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务