Mysql索引会失效的几种情况分析(转)
2024-10-15 13:50:56
出处:http://www.jb51.net/article/50649.htm
索引并不是时时都会生效的,比如以下几种情况,将导致索引失效:
1.如果条件中有or,即使其中有条件带索引也不会使用(这也是为什么尽量少用or的原因)
注意:要想使用or,又想让索引生效,只能将or条件中的每个列都加上索引
2.对于多列索引,不是使用的第一部分,则不会使用索引
3.like查询是以%开头
4.如果列类型是字符串,那一定要在条件中将数据使用引号引用起来,否则不使用索引
5.如果mysql估计使用全表扫描要比使用索引快,则不使用索引
此外,查看索引的使用情况
show status like ‘Handler_read%';
大家可以注意:
handler_read_key:这个值越高越好,越高表示使用索引查询到的次数
handler_read_rnd_next:这个值越高,说明查询低效
最新文章
- 很漂亮的用户登录界面HTML模板
- 解决Nginx不支持pathinfo的问题
- iOS10 UI教程视图和子视图的可见性
- [原]OpenGL基础教程(四)VBO+纹理绘制四边形
- PHP开发搜索引擎技术全解析
- 用while判断输入的数字是否回文数
- art中的部分内容,留着慢慢研究
- 关于Ubuntu的ssh免密登录
- JS实现移动端购物车左滑删除功能
- 画一个DIV并给它的四个角变成圆形,且加上阴影
- [SCOI2010]生成字符串
- php unicode编码和字符串互转
- Python问题:UnboundLocalError: local variable 'xxx' referenced before assignment
- Android 数据库 大量插入 事务开启
- 那些离不开的 Chrome 扩展插件
- POJ 3903 Stock Exchange(LIS || 线段树)题解
- python 多线程日志切割+日志分析
- Postman: Pre-request Script,设置body 变量
- javascript之构造函数的继承(引用网络)
- 使用GAN 进行异常检测——anoGAN,TODO,待用于安全分析实验