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估计使用全表扫描要比使用索引快,则不使用索引

相关文章
相关标签/搜索