Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL 데이터베이스의 전체 행(Row) 개수 확인하는 방법

MySQL 데이터베이스의 총 행 수 구하기

MySQL 데이터베이스에 저장된 모든 테이블의 행(레코드) 개수를 한 번에 확인하고 싶다면, 집계 함수 SUM()INFORMATION_SCHEMA.TABLES의 내장 컬럼인 TABLE_ROWS를 함께 사용하면 됩니다.

INFORMATION_SCHEMA는 MySQL 서버가 관리하는 메타데이터(데이터베이스, 테이블, 컬럼 정보 등)를 담고 있는 시스템 스키마로, 별도의 설치 없이 바로 조회할 수 있다는 장점이 있습니다.

기본 문법

SELECT SUM(TABLE_ROWS)
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = database();

여기서 database() 함수는 현재 접속 중인 데이터베이스 이름을 반환합니다. 만약 특정 데이터베이스를 직접 지정하고 싶다면 WHERE TABLE_SCHEMA = '데이터베이스명' 형태로 작성하면 됩니다.

실제 실행 예시

예를 들어, 'sample'이라는 이름의 데이터베이스를 사용 중이라고 가정해 보겠습니다.

아래 쿼리를 실행하면 해당 데이터베이스에 있는 모든 테이블의 행 수 합계를 구할 수 있습니다.

mysql> SELECT SUM(TABLE_ROWS)
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = database();

실행 결과는 다음과 같습니다.

+-----------------+
| SUM(TABLE_ROWS) |
+-----------------+
| 2043            |
+-----------------+
1 row in set (22.11 sec)

참고 사항

TABLE_ROWS 값은 InnoDB 테이블의 경우 통계 정보를 기반으로 한 근사치(approximate)입니다. 따라서 정확한 행 개수가 필요한 경우에는 각 테이블마다 SELECT COUNT(*)를 직접 실행하는 것이 좋습니다. 반면 대용량 데이터베이스에서 빠르게 대략적인 규모를 파악할 때는 이 방법이 매우 유용합니다.