我有一个正在运行的脚本,它将数据插入 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 次插入以来的时间,然后决定要做什么。