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估計使用全表掃描要比使用索引快,則不使用索引