关于like和索引

name like '%'+name+'%'是不使用索引的

name like name+'%'是使用索引的

其实仔细考虑索引的原理就明白了。
例如,like 'aaa%',因为 aaa在前面,可以在索引里面找aaa开头的纪录。 like '%aaa'就不行,aaa是在中间的,只能一条一条找了。

还有如下情况不能用到索引:
1.在列上使用函数
2.对列进行拼接(group_concat);
3.显式或隐式使用 NOT 关键字
4.对列的隐式的类型转换

是否使用索引可以使用(explain)查看

Explain Select m.qr , m.qrr , tj.qr , tj.qrrq from ipos_zdjhd m,ipos_zdjhdtj tj where m.ydjh='17233' and tj.djbh='48632';

posted on 2017-02-22 13:48  FantasyBoy  阅读(465)  评论(0编辑  收藏  举报