Mysql中哪些sql 不會走索引

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

相關文章
相關標籤/搜索