MySQL에서 SHOW TABLE STATUS 명령어를 사용하면 테이블의 이름(Name), 스토리지 엔진(Engine), 버전(Version), 행 수(Rows), 체크섬(Checksum) 등 다양한 메타 정보를 한눈에 확인할 수 있습니다.
예제: 테이블 생성하기
먼저 예제 테이블을 만들어 보겠습니다. 이번 예제에서는 MyISAM 엔진을 사용합니다. 테이블을 생성하는 쿼리는 다음과 같습니다.
mysql> create table Post_Demo
-> (
-> PostId int,
-> PostName varchar(100),
-> PostDate datetime,
-> PRIMARY KEY(PostId)
-> )ENGINE = MyISAM;
Query OK, 0 rows affected (0.28 sec)
테이블 상태 조회하기
테이블이 정상적으로 생성되었다면, SHOW TABLE STATUS 명령어로 해당 테이블의 상태를 확인할 수 있습니다. 특정 테이블만 조회하려면 WHERE 절에 테이블 이름을 지정하면 됩니다.
mysql> show table status where Name = 'Post_Demo'\G
실행 결과
위 쿼리를 실행하면 다음과 같은 결과가 출력됩니다.
*************************** 1. row ***************************
Name: post_demo
Engine: MyISAM
Version: 10
Row_format: Dynamic
Rows: 0
Avg_row_length: 0
Data_length: 0
Max_data_length: 281474976710655
Index_length: 1024
Data_free: 0
Auto_increment: 1
Create_time: 2019-02-12 16:27:26
Update_time: 2019-02-12 16:27:26
Check_time: NULL
Collation: utf8_general_ci
Checksum: NULL
Create_options:
Comment:
1 row in set (0.00 sec)
주요 항목 설명
- Name: 테이블의 이름
- Engine: 테이블에 적용된 스토리지 엔진(MyISAM, InnoDB 등)
- Version: 테이블의 .frm 파일 버전
- Rows: 현재 저장된 행(row)의 개수
- Data_length: 데이터 파일의 크기
- Index_length: 인덱스 파일의 크기
- Create_time / Update_time: 테이블 생성 및 마지막 수정 시각
- Collation: 테이블에 적용된 문자셋 정렬 규칙
- Checksum: 라이브 체크섬이 활성화된 경우의 체크섬 값
이처럼 SHOW TABLE STATUS는 테이블의 구조뿐 아니라 용량, 행 수, 생성 시간 등 운영에 필요한 핵심 정보를 제공하므로, 데이터베이스 관리와 성능 점검 시 매우 유용하게 활용됩니다.