MySQL查询不使用索引汇总

众所周知,增长索引是提升 查询仍然不使用索引,这种状况严重影响性能,这里就简单总结几条 若是 若是列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两个变量, 着连个参数的值。
相关文章
相关标签/搜索