MySQLデータベースにデータを挿入するスクリプトが実行されています。
1秒あたり、1分あたりに何行が挿入されるのか知りたいです。 1秒あたりまたは1分あたりに挿入された行数が特定の数を超える場合は、スクリプトの実行を停止する必要があります。
これをどのように監視できますか?
答え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回挿入以降の時間を確認し、実行する操作を決定します。