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

MySQL 특정 데이터베이스의 테이블 크기 확인 방법

앞서 MySQL 데이터베이스 전체의 크기를 확인하는 방법을 살펴보았습니다. 같은 원리로 특정 데이터베이스에 속한 개별 테이블의 크기도 손쉽게 조회할 수 있습니다. 이때 활용하는 것이 바로 information_schema.TABLES 뷰입니다.

테이블 크기 조회 쿼리

아래 쿼리는 SAMPLE 데이터베이스에 포함된 모든 테이블의 크기를 MB 단위로 계산하여 보여줍니다.

mysql> SELECT
    -> table_name AS "Table",
    -> round(((data_length + index_length) / 1024 / 1024), 2) as SIZE
    -> FROM information_schema.TABLES
    -> WHERE table_schema = "SAMPLE"
    -> ORDER BY SIZE;
+-------------+-------+
| Table       | SIZE  |
+-------------+-------+
| employee    | 0.02  |
| student     | 0.02  |
| new_student | 0.02  |
+-------------+-------+
3 rows in set (0.00 sec)

쿼리 해설

  • data_length + index_length: 테이블의 실제 데이터 용량과 인덱스 용량을 합산한 값입니다.
  • / 1024 / 1024: 바이트 단위를 메가바이트(MB) 단위로 변환합니다.
  • round(..., 2): 결과를 소수점 둘째 자리까지 반올림해 가독성을 높입니다.
  • WHERE table_schema = "SAMPLE": 조회 대상을 SAMPLE 데이터베이스로 한정합니다.

실행 결과

위 출력 결과는 SAMPLE 데이터베이스에 있는 세 개의 테이블(employee, student, new_student)이 각각 약 0.02MB 크기임을 보여줍니다.

참고로 현재 쿼리는 크기가 작은 순서(오름차순)로 정렬되어 있습니다. 가장 용량이 큰 테이블부터 확인하고 싶다면 마지막 줄을 ORDER BY SIZE DESC;로 변경하면 됩니다.