MySQL Status Handler_read_rnd 数据库状态作用意思及如何正确
本站中文解释
:表示必须通过搜索扫描记录来读取表中的行来定位记录. 本变量反映MySQL是如何读取表中数据的情况,当MySQL需要排序读取时,会使用到有序索引,如果没有有序索引,则MySQL将使用全表扫描,每次都要从第一行开始逐行搜索,定位到指定的行. 对于某些查询,如果MySQL不使用一个索引的话,就必须全表扫描. 如果本变量的值比 Handler_read_first 还要大,就表明查询压力暗示MySQL必须使用全表扫描来获取所需信息.
Handler_read_rnd变量可以用来监视查询是否受性能影响,也可以指导我们优化数据库. 当Handler_read_rnd较大时,说明MySQL对数据表的访问有性能问题. 可以为查询优化建立合适的索引. 同时,可以通过查看slow query logs确定慢查询的原因,来从源头上改进查询.
要设置Handler_read_rnd变量,打开MySQL的配置文件/etc/my.cnf,找到[mysqld],然后在其中添加一行如下的配置:
handler_read_rnd = on
保存配置文件,重启mysql服务器服务. 这样就可以成功设置Handler_read_rand变量了。