首页 > 数据库技术 > 详细

MySQL查询不使用索引汇总

时间:2014-09-17 18:29:12      阅读:313      评论:0      收藏:0      [点我收藏+]
众所周知,增加索引是提高查询仍然不使用索引,这种情况严重影响性能,这里就简单总结几条如果如果列key均匀分布在1和100之间,下面的查询使用索引就不是很好:select * from table_name where key>1 and key<90;
  www.2cto.com  
如果or前的条件中的列有索引,而后面的列没有索引,那么涉及到的索引都不会被用到,例如:select * from table_name where key1=‘a‘ or key2=‘b‘;查询也不会如果索引列不是复合索引的第一部分,则不使用索引(即不符合最左前缀),例如,复合索引为(key1,key2),则查询select * from table_name where key2=‘b‘;将不会使用索引
 
查询即使key1上存在索引,也不会被使用
如果key1列保存的是字符串,即使key1上有索引,也不会被使用。
  www.2cto.com  
从上面可以MySQL中,有Handler_read_key和Handler_read_rnd_key两个变量,着连个参数的值。

MySQL查询不使用索引汇总

原文:http://www.cnblogs.com/sand-tiny/p/3977630.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!