MySQL 테이블/인덱스 사이즈 조회 스크립트



1. DB LEVEL 사이즈 조회

SELECT

COUNT(*) NUM_OF_TABLE

   , TABLE_SCHEMA,CONCAT(ROUND(SUM(TABLE_ROWS)/1000000,2),'M') ROWS

   , CONCAT(ROUND(SUM(DATA_LENGTH)/(1024*1024*1024),2),'G') DATA

   , CONCAT(ROUND(SUM(INDEX_LENGTH)/(1024*1024*1024),2),'G') IDX

   , CONCAT(ROUND(SUM(DATA_LENGTH+INDEX_LENGTH)/(1024*1024*1024),2),'G') TOTAL_SIZE

   , ROUND(SUM(INDEX_LENGTH)/SUM(DATA_LENGTH),2) IDXFRAC

FROM     INFORMATION_SCHEMA.TABLES

GROUP BY

TABLE_SCHEMA

ORDER BY

SUM(DATA_LENGTH+INDEX_LENGTH) DESC LIMIT 10;


2. TABLE LEVEL 사이즈 조회

SELECT TABLE_NAME,

       ROUND(DATA_LENGTH/(1024*1024),2) AS 'TABLE SIZE(MB)',

       ROUND(INDEX_LENGTH/(1024*1024),2) AS 'INDEX SIZE(MB)'

FROM INFORMATION_SCHEMA.TABLES

WHERE TABLE_SCHEMA = 'TESTDB'

GROUP BY TABLE_NAME, DATA_LENGTH, INDEX_LENGTH;


블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,