mysql不走索引总结
2017-08-29 00:00
225 查看
在MySQL查询语句中,总会发现明明已经建立了查询字段索引,可是却没有用到,这是因为在mysql中有些查询语句是用不到索引的,总结如下,以供大家分享。
like语句,‘%w’不会使用索引,‘w%’会使用索引
列类型为字符串类型,查询时没有用单引号引起来
在where查询语句中使用表达式
在where查询语句中对字段进行NULL值判断
在where查询中使用了or关键字, myisam表能用到索引, innodb不行;(用UNION替换OR,可以使用索引)
where中复合索引未按顺序查询的
如果mysql估计使用全表扫描要比使用索引快,则不使用索引(数据量小时 or 索引数据量大于20%的)
查询某张表中已经建立的索引:
show index from tablename
查看索引的使用情况:
show status like ‘Handler_read%';
大家可以注意:
handler_read_key:这个值越高越好,越高表示使用索引查询到的次数
handler_read_rnd_next:这个值越高,说明查询低效
like语句,‘%w’不会使用索引,‘w%’会使用索引
列类型为字符串类型,查询时没有用单引号引起来
在where查询语句中使用表达式
在where查询语句中对字段进行NULL值判断
在where查询中使用了or关键字, myisam表能用到索引, innodb不行;(用UNION替换OR,可以使用索引)
where中复合索引未按顺序查询的
如果mysql估计使用全表扫描要比使用索引快,则不使用索引(数据量小时 or 索引数据量大于20%的)
查询某张表中已经建立的索引:
show index from tablename
查看索引的使用情况:
show status like ‘Handler_read%';
大家可以注意:
handler_read_key:这个值越高越好,越高表示使用索引查询到的次数
handler_read_rnd_next:这个值越高,说明查询低效
相关文章推荐
- Mysql优化,导致查询不走索引的原因总结
- mysql优化,导致查询不走索引的原因总结
- mysql不走索引总结
- Mysql索引的总结
- mysql索引总结----mysql 索引类型以及创建
- mysql索引总结----mysql 索引类型, 创建以及优化
- 为mysql数据库建立索引;mysql索引总结----mysql 索引类型以及创建;mysql_建立索引的优缺点
- MySQL索引类型总结和使用技巧以及注意事项
- MySQL索引背后的数据结构及算法原理(最强总结)
- Mysql中哪些Sql不走索引
- mysql索引总结----mysql 索引类型以及创建
- mysql索引总结
- 总结:MySql在建立索引优化时需要注意的问题
- MYSQL order by排序与索引关系总结
- MySQL索引类型总结和使用技巧以及注意事项
- ”MySQL索引“学习总结
- mysql、sqlserver、oracle三种数据库维护索引、外键、字段语法总结
- mysql、sqlserver、oracle三种数据库维护索引、外键、字段语法总结(转)
- mysql索引总结----mysql 索引类型以及创建
- mysql索引优化手册总结版本