[MY_SQL] 테이블 용량 조회 SELECT문

작성자: okkerberg
작성일: 2025.11.28
조회수: 11

SELECT
    table_name AS '테이블명',
    -- Data_length는 데이터가 차지하는 공간 (Byte)
    ROUND(((DATA_LENGTH) / 1024 / 1024), 2) AS '데이터_크기(MB)',
    -- Index_length는 인덱스가 차지하는 공간 (Byte)
    ROUND(((INDEX_LENGTH) / 1024 / 1024), 2) AS '인덱스_크기(MB)',
    -- 총 용량
    ROUND(((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024), 2) AS '총_용량(MB)',
    -- 레코드 수 (데이터 개수)
    TABLE_ROWS AS '레코드_수(건)'
FROM
    information_schema.TABLES
WHERE
    table_schema = '스키마명 or 데이터베이스명' -- [주의] 여기에 실제 데이터베이스 이름 입력
    AND table_name = '테이블명'
ORDER BY
    (DATA_LENGTH + INDEX_LENGTH) DESC;
 

목록으로