[My SQL] DB / Table 용량확인(data, index)

안녕하세요. 오늘은 베스핀글로벌 DevOps실 김동현 님이 작성해 주신 DB / Table 용량 확인(data, index)에 대해 간단하게 알아보겠습니다. 읽으시다가 궁금한 부분이 있으시면 편하게 댓글을 달아주세요:)

아래의 쿼리를 참고하여 원하는 형태로 쿼리를 수정하여 사용량을 확인 할 수 있다.

1. 특정 DB 테이블별 용량을 확인할 때

SELECT
     table_schema AS ‘DatabaseName’,
     TABLE_NAME,
     ROUND(SUM(data_length + index_length)/ 1024 / 1024 , 2) AS ‘total_Size(MB)’,
     ROUND(SUM(data_length)/ 1024 / 1024, 2) AS ‘data_Size(MB)’,
     ROUND(SUM(index_length)/ 1024 / 1024, 2) AS ‘index_Size(MB)’
FROM
     information_schema.tables
WHERE table_schema = {DB명}
GROUP BY table_schema, TABLE_NAME;

용량이 커서 GB 기준으로 보고 싶다면 아래 같이 쿼리를 변경하면 된다.

ROUND(SUM(data_length + index_length)/ 1024 / 1024 , 2) AS ‘total_Size(MB)’,
=> ROUND(SUM(data_length + index_length)/ 1024 / 1024 /1024 , 2) AS ‘total_Size(GB)’,

2. 특정 DB 전체 용량을 확인할 때

SELECT
     table_schema AS ‘DatabaseName’,
     TABLE_NAME,
     ROUND(SUM(data_length + index_length)/ 1024 / 1024 , 2) AS ‘total_Size(MB)’,
     ROUND(SUM(data_length)/ 1024 / 1024, 2) AS ‘data_Size(MB)’,
     ROUND(SUM(index_length)/ 1024 / 1024, 2) AS ‘index_Size(MB)’
FROM
     information_schema.tables
WHERE table_schema = {DB명}
GROUP BY table_schema;

감사합니다~ 🙂

문의: info@bespinglobal.com | 대표번호: 02-1668-1280

Leave a Comment