[sql] MySQL 데이터베이스/테이블의 디스크 사용량 확인하기


MySQL 커맨드 프롬프트에서 쿼리문으로 데이터베이스, 또는 테이블이 차지하고 있는 실제 용량을 확인할 수 있습니다.

  1. MySQL 프롬프트를 실행합니다.
    mysql -u username -p
  2. 비밀번호 입력 메시지가 나타나면 비밀번호를 입력합니다.비밀번호를 입력하면 mysql> 프롬프트가 나타납니다.
  3. 모든 데이터베이스의 크기를 확인하려면 mysql> 프롬프트에서 다음 쿼리문을 입력합니다.
SELECT table_schema AS "Database",
ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS "Size (MB)"
FROM information_schema.TABLES
GROUP BY table_schema;
mysql> SELECT table_schema AS "Database",
    -> ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS "Size (MB)"
    -> FROM information_schema.TABLES
    -> GROUP BY table_schema;
+--------------------+-----------+
| Database           | Size (MB) |
+--------------------+-----------+
| mysql              |      2.63 |
| information_schema |      0.00 |
| performance_schema |      0.00 |
| sys                |      0.02 |
+--------------------+-----------+
4 rows in set (0.78 sec)

4. 데이터베이스의 테이블 크기를 모두 확인하려면 mysql> 프롬프트에서 다음 쿼리문을 입력합니다.

SELECT table_name AS "Table",
ROUND(((data_length + index_length) / 1024 / 1024), 2) AS "Size (MB)"
FROM information_schema.TABLES
WHERE table_schema = "DB이름"
ORDER BY (data_length + index_length) DESC;

크기가 큰 테이블 부터 작은 테이블 순으로 나열되며 표시 단위는 Mb입니다.