现在的位置: 首页 > 综合 > 正文

mysql 查看索引使用情况

2017年12月06日 ⁄ 综合 ⁄ 共 661字 ⁄ 字号 评论关闭

 这是以读为主的线上库

root@read 02:28:07>show status like ‘Handler_read%’; 
+———————–+——-+ 
| Variable_name         | Value | 
+———————–+——-+ 
| Handler_read_first    | 0     | 
| Handler_read_key      | 0     | 
| Handler_read_next     | 0     | 
| Handler_read_prev     | 0     | 
| Handler_read_rnd      | 0     | 
| Handler_read_rnd_next | 61    | 
+———————–+——-+ 
6 rows in set (0.41 sec)

Handler_read_first 代表读取索引头的次数,如果这个值很高,说明全索引扫描很多。

Handler_read_key代表一个索引被使用的次数,如果我们新增加一个索引,可以查看Handler_read_key是否有增加,如果有增加,说明sql用到索引。

Handler_read_next 代表读取索引的下列,一般发生range scan。

Handler_read_prev 代表读取索引的上列,一般发生在ORDER BY … DESC。

Handler_read_rnd 代表在固定位置读取行,如果这个值很高,说明对大量结果集进行了排序、进行了全表扫描、关联查询没有用到合适的KEY。

Handler_read_rnd_next 代表进行了很多表扫描,查询性能低下。

抱歉!评论已关闭.