MySQL Status Handler_read_last 数据库状态作用意思及如何正确
本站中文解释
指标
Handler_read_last 指标是MySQL在执行查询指令中最后读取的一个文件的行数。这个变量用来说明MySQL管理器利用数据库文件进行查询操作的情况,由此可以更清楚地了解管理器的数据处理能力。
Handler_read_last变量可以通过show status命令查询其值,其设置不需要做特殊配置,因为它是系统自身自动记录的。
当在MySQL服务器中执行查询指令时,首先MySQL管理器会从数据库中心的每一个表空间向外延伸,将表空间中的数据文件中的所有行读入到内存中。查询文件就是最后一个要被读取的文件,Handler_read_last变量用来记录这个文件中的行数。
如果一次查询的数据量很小,Handler_read_last的值也很小,但如果一次查询的数据量很大,Handler_read_last的值也会相对较大。当执行查询语句时,可以在MySQL命令提示符下使用show status命令查看其最后读取行数,从而了解到查询过程中MySQL管理器的处理数据能力。
另外,Handler_read_last变量可以用来分析MySQL在执行语句的过程中的、索引的、哈希的等不同的数据处理方式,从而可以找到最优的数据处理方式,提升MySQL服务器的性能。
Handler_read_last变量只记录管理器最近读取文件时发生的状况,并不表示数据读取的时间,数据读取的时间可以通过查看show status间了解。
比较Handler_read_last变量之前和之后,如果发现未发生变化,说明MySQL管理器在执行查询语句后未发生改变,也就是MySQL管理器并没有使用对应的数据文件进行查询或者更新操作,这也就意味着MySQL的查询指令并没有生效。
此外,由于Handler_read_last指标是MySQL服务器自动记录的,所以不需要做特殊的设置等,但是在使用这个变量来感知MySQL服务器的性能时,建议把show status命令运行的间隔放大,以便让记录的数据横跨更长的时间,以方便不断改善MySQL服务器性能。