如果索引正在工作,Handler_read_key 的值将很高,这个值代表了一个行被索引值读的
次数,很低的值表明增加索引得到的性能改善不高,因为索引并不经常使用。
Handler_read_rnd_next 的值高则意味着查询运行低效,并且应该建立索引补救。这个值
的含义是在数据文件中读下一行的请求数。如果正进行大量的表扫描,
Handler_read_rnd_next 的值较高,则通常说明表索引不正确或写入的查询没有利用索引,具
体如下。
mysql> show status like 'Handler_read%';
+-----------------------+-------+
| Variable_name | Value |
+-----------------------+-------+
| Handler_read_first | 0 |
| Handler_read_key | 5 |
| Handler_read_next | 0 |
| Handler_read_prev | 0 |
| Handler_read_rnd | 0 |
| Handler_read_rnd_next | 2055 |
+-----------------------+-------+
6 rows in set (0.00 sec)
从上面的例子中可以看出,目前使用的MySQL 数据库的索引情况并不理想。
次数,很低的值表明增加索引得到的性能改善不高,因为索引并不经常使用。
Handler_read_rnd_next 的值高则意味着查询运行低效,并且应该建立索引补救。这个值
的含义是在数据文件中读下一行的请求数。如果正进行大量的表扫描,
Handler_read_rnd_next 的值较高,则通常说明表索引不正确或写入的查询没有利用索引,具
体如下。
mysql> show status like 'Handler_read%';
+-----------------------+-------+
| Variable_name | Value |
+-----------------------+-------+
| Handler_read_first | 0 |
| Handler_read_key | 5 |
| Handler_read_next | 0 |
| Handler_read_prev | 0 |
| Handler_read_rnd | 0 |
| Handler_read_rnd_next | 2055 |
+-----------------------+-------+
6 rows in set (0.00 sec)
从上面的例子中可以看出,目前使用的MySQL 数据库的索引情况并不理想。
本文通过MySQL的状态变量分析了数据库的索引使用情况。重点解释了Handler_read_key和Handler_read_rnd_next这两个指标,前者代表索引读取次数,后者表示未使用索引的数据文件读取请求。通过对这些指标的解读,可以评估索引的有效性和查询效率。
10万+

被折叠的 条评论
为什么被折叠?



