Como monitorar o número de linhas inseridas por segundo e por minuto no banco de dados MySQL

1

Eu tenho um script em execução que está inserindo dados em um banco de dados MySQL.

Eu quero saber quantas linhas estão sendo inseridas por segundo e por minuto. Se a contagem de linhas inseridas por segundo ou por minuto ultrapassar uma determinada contagem, eu preciso parar de executar o script.

Como posso monitorar isso?

    
por The Dark Knight 20.02.2013 / 16:01

2 respostas

2

Você deve conseguir derivar essa informação da saída de

mysqladmin extended-status

Ou

show status like 'Innodb_rows_inserted';

no MySQL, execute cada minuto.

Ou para bancos de dados ou tabelas individuais, você pode usar informações de information_schema.TABLES :

select TABLE_NAME, TABLE_ROWS from information_schema.TABLES 
    where TABLE_SCHEMA = 'my-database';
    
por 20.02.2013 / 19:09
1

Existem maneiras de fazer isso por meio de count() no banco de dados, mas acho que isso sempre será meio feio e apenas retardará a execução do script. Então, a melhor maneira de fazer isso é dentro do próprio script.

Por exemplo, após cada 1000 inserções, você verifica o tempo desde os últimos 1000 e, em seguida, decide o que fazer.

    
por 20.02.2013 / 16:08

Tags