• 让天下没有难学的技术
    多数学员都来自推荐,这就是口碑的力量

MySQL索引失效原因范围查询

索引列上不能有范围查询
explain SELECT SQL_NO_CACHE * FROM emp WHERE emp.age=30 and deptid=5 AND emp.name = ‘abcd’;explain SELECT SQL_NO_CACHE * FROM emp WHERE emp.age=30 and deptid<=5 AND emp.name = ‘abcd’;

建议:将可能做范围查询的字段的索引顺序放在最后

尽量使用覆盖索引
即查询列和索引列一直,不要写select *!

explain SELECT SQL_NO_CACHE * FROM emp WHERE emp.age=30 and deptId=4 and name=’XamgXt’;explain SELECT SQL_NO_CACHE age,deptId,name FROM emp WHERE emp.age=30 and deptId=4 and name=’XamgXt’;

 

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注