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번 삽입 이후의 시간을 확인하고 수행할 작업을 결정합니다.