如何监控每秒和每分钟插入 MySQL 数据库的行数

如何监控每秒和每分钟插入 MySQL 数据库的行数

我有一个正在运行的脚本,它将数据插入 MySQL 数据库。

我想知道每秒和每分钟插入多少行。如果每秒或每分钟插入的行数超过一定数量,我需要停止执行脚本。

我怎样才能监控这个?

答案1

您应该能够从输出中得出该信息

mysqladmin extended-status

或者

show status like 'Innodb_rows_inserted';

在 MySQL 中,每分钟运行一次。

或者对于单个数据库或表,您可以使用以下信息information_schema.TABLES

select TABLE_NAME, TABLE_ROWS from information_schema.TABLES 
    where TABLE_SCHEMA = 'my-database';

答案2

有很多方法可以通过count()数据库上的一些方法来做到这一点,但我认为这总是有点难看,而且只会减慢脚本的执行速度。所以最好的方法是在脚本本身内部。

例如,每执行 1000 次插入后,您就会检查自上次 1000 次插入以来的时间,然后决定要做什么。

相关内容