본문 바로가기
MySql

MySQL은 innodb 테이블의 행 수를 얻습니다.

by 베이스 공부 2020. 10. 17.
반응형

innodb를 사용하는 테이블이 있습니다. 테이블에 대략 8 천 9 백만 개의 행이 있다는 것을 알고 있습니다. 사용

SELECT COUNT(*) FROM table;

실행하는 데 약 5 분이 걸립니다. innodb가 무조건 COUNT (*) 쿼리에 최적화되어 있지 않다는 것을 알고 있습니다. 수를 더 빨리 제공하기 위해 쿼리를 재구성하려면 어떻게해야합니까? WHERE 1 = 1 작업을 추가하는 것뿐입니까, 아니면 특정 필드를 쿼리해야합니까?

SHOW TABLE STATUS를 사용하여 대략적인 행 수를 얻을 수 있다는 것을 알고 있지만 PHP 스크립트에서 값을 얻고 싶습니다.

 

해결 방법

 

예상 수치에 문제가없고 PHP에서 SHOW TABLE STATUS 를 실행하는 것을 엉망으로 만들고 싶지 않다면 information_schema DB를 사용할 수 있습니다.

SELECT TABLE_ROWS FROM information_schema.tables
WHERE TABLE_SCHEMA = 'my_db_name' 
AND TABLE_NAME = 'my_table_name';

 

참조 페이지 https://stackoverflow.com/questions/5120075

 

 

반응형

댓글