MySQL Status Innodb_row_lock_waits 数据库状态作用意思及如何正确

本站中文解释

MySQL status变量包括多个状态参数,用于提供MySQL服务器的运行状态信息。其中Innodb_row_lock_waits变量用于表示当前事务排它锁等待数量,主要有以下用途:

1、 用于衡量系统性能:如果单个事务等待排它锁的次数过高,则可能说明系统性能较差。

2、 用于定位故障:如果Innodb_row_lock_waits变量一直处于非常高的状态,则可能表明存在性能问题,可针对此进行故障排除。

Innodb_row_lock_waits的设置和查询非常简单,它是一个只读变量,只能进行查询,无法设置。可以通过以下语句查询:

select * from information_schema.global_status where variable_name=‘innodb_row_lock_waits’

可以从查询的结果中查看,Innodb_row_lock_waits的状态。
同时可以通过InnoDB的监控报警功能,当Innodb_row_lock_waits变量出现不正常值时,进行报警。可以设置如下报警条件:

set global innodb_monitor_enable=’all’;
set global innodb_monitor_reset=’all’;
set global innodb_monitor_enable=’LOCK_waittime’;
set global innodb_monitor_waittime_warning_threshold=100000000;

以上设置会在Innodb_row_lock_waits变量的状态超过10亿时报警。


数据运维技术 » MySQL Status Innodb_row_lock_waits 数据库状态作用意思及如何正确