쩨이엠 개발 블로그

[mysql] DB Table 데이터 크기 확인하기 및 TABLES 필드 설명 본문

개발/ETC

[mysql] DB Table 데이터 크기 확인하기 및 TABLES 필드 설명

쩨이엠 2023. 5. 3. 19:29
728x90
반응형

Mysql에서 table에 쌓인 데이터 크기를 알고 싶은 경우 information_schema를 이용하면 알 수 있다

 

 SELECT 
    table_name, 	-- 테이블 명 
    table_rows, 	-- 전체 row 수 
    data_length, 	-- 저장된 데이터 크기 (Bytes)
    round(data_length/table_rows), -- 데이터 평균 크기(계산)
    avg_row_length 	-- 데이터 평균 크기(컬럼)
  FROM information_schema.TABLES
  WHERE table_name = '테이블명' AND 조건
  GROUP BY table_name 
  ORDER BY data_length DESC;

data_length에서 table_rows로 나눠도 평균 크기를 알 수 있지만

avg_row_length 컬럼으로도 알 수 있다

 

 

information_schema.TABLES 필드를 찾아보면 다음과 같다

desc information_schema.TABLES;
Field Type Null Default 설명
TABLE_CATALOG VARVHAR(64) YES NULL 스키마가 속한 카탈로그 이름
(이라고 하는데 def말곤 본적이 없다)
TABLE_SCHEMA VARVHAR(64) YES NULL DB 스키마 이름
TABLE_NAME VARVHAR(64) YES NULL Table 이름
TABLE_TYPE ENUM('BASE TABLE','VIEW', 'SYSTEM VIEW' NO NULL BASE TABLE : 표준 테이블
VIEW :뷰 테이블
SYSTEM VIEW : 시스템 관련 뷰
ENGINE VARCHAR(64) YES NULL 테이블 스토리지 엔진
VERSION INT YES NULL 테이블 .frm 파일 버전
ROW_FORMAT ENUM('Fixed','Dynamic','Compressed','Redundant','Compact','Paged') YES NULL 행 저장 형식
Fixed : 고정
Dynamic : 동적
Compressed : 압축
Redundant : 중복
Compact : 압축
Paged : 페이징

InnoDB 기본은 Dynamic
TABLE_ROWS BIGINT UNSIGNED YES NULL 행 수
AVG_ROW_LENGTH BIGINT UNSIGNED YES NULL 평균 행 길이
DATA_LENGTH
BIGINT UNSIGNED YES NULL 데이터 파일 크기(바이트)
MAX_DATA_LENGTH
BIGINT UNSIGNED YES NULL 데이터 파일의 최대 길이
InnoDB에는 사용되지 않음
INDEX_LENGTH
BIGINT UNSIGNED YES NULL 인덱스 파일 크기(바이트)
DATA_FREE
BIGINT UNSIGNED YES NULL 할당되었지만 사용되지 않은 바이트 수
AUTO_INCREMENT
BIGINT UNSIGNED YES NULL 다음 AUTO_INCREMENT 값
CREATE_TIME
TIMESTAMP NO NULL 생성된 날짜
UPDATE_TIME
DATETIME YES NULL 데이터가 마지막으로 업데이트된 날짜
CHECK_TIME
DATETIME YES NULL 테이블이 마지막으로 확인된 시간
분할 된 InnoDB 테이블의 경우 항상 NULL
TABLE_COLLATION
VARCHAR(64) YES NULL 테이블 데이터 관련
utf8mb3_general_ci : 다국어 처리
utf8mb4_0900_ai_ci :
이모지까지 다국어 처리
CHECKSUM
BIGINT YES NULL 라이브 체크썸
기본은 NULL
CREATE_OPTIONS
VARCHAR(64) YES NULL CREATE TABLE과 함께 사용되는 추가 옵션
TABLE_COMMENT
TEXT YES NULL 테이블 생성시 사용된 코멘트

 

실제로 조회해 보면 의외로 신기한것들이 많으니 한 번쯤 검색해보는것도 좋겠다

728x90
반응형
Comments