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