Как отслеживать количество строк, вставленных в секунду и минуту в MySQL db

У меня есть работающий скрипт, который вставляет данные в базу данных MySQL.

Я хочу знать, сколько строк вставляется в секунду и в минуту. Если количество строк, вставленных в секунду или в минуту, выходит за пределы определенного количества, мне нужно прекратить выполнение скрипта.

Как я могу контролировать это?

Вы должны получить эту информацию из

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'; 

Есть способы сделать это с помощью некоторого count() на db, но я думаю, что это всегда будет довольно уродливым и просто замедлит выполнение вашего скрипта. Поэтому лучший способ сделать это – внутри самого скрипта.

Например, после каждых 1000 вставок вы проверяете время с момента последнего 1000, а затем решаете, что делать.