1. 索引列参与了计算mysql
SELECT `sname` FROM `stu` WHERE `age`+10=30;sql
2. 索引使用了函数运算函数
SELECT `sname` FROM `stu` WHERE LEFT(`date`,4) <1990;索引
3. like字符串
SELECT * FROM `houdunwang` WHERE `uname` LIKE'后盾%' -- 走索引date
SELECT * FROM `houdunwang` WHERE `uname` LIKE "%后盾%" -- 不走索引select
4. 字符串与数字比较不使用索引nw
SELECT * FROM `a` WHERE `a`=1字符
5. 若是条件中有or,即便其中有条件带索引也不会使用。换言之,就是要求使用的全部字段,都必须创建索引, 咱们建议你们尽可能避免使用or 关键字数字
select * from dept where dname='xxx' or loc='xx' or deptno=45
注:若是mysql估计使用全表扫描要比使用索引快,则不使用索引