1. 테이블 정보
INFORMATION_SCHEMA.TABLES
DESC information_schema.tables;
+------------------+---------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------------+---------------------+------+-----+---------+-------+
| TABLE_CATALOG | varchar(512) | NO | | | |
| TABLE_SCHEMA | varchar(64) | NO | | | |
| TABLE_NAME | varchar(64) | NO | | | |
| TABLE_TYPE | varchar(64) | NO | | | |
| ENGINE | varchar(64) | YES | | NULL | |
| VERSION | bigint(21) unsigned | YES | | NULL | |
| ROW_FORMAT | varchar(10) | YES | | NULL | |
| TABLE_ROWS | bigint(21) unsigned | YES | | NULL | |
| AVG_ROW_LENGTH | bigint(21) unsigned | YES | | NULL | |
| DATA_LENGTH | bigint(21) unsigned | YES | | NULL | |
| MAX_DATA_LENGTH | bigint(21) unsigned | YES | | NULL | |
| INDEX_LENGTH | bigint(21) unsigned | YES | | NULL | |
| DATA_FREE | bigint(21) unsigned | YES | | NULL | |
| AUTO_INCREMENT | bigint(21) unsigned | YES | | NULL | |
| CREATE_TIME | datetime | YES | | NULL | |
| UPDATE_TIME | datetime | YES | | NULL | |
| CHECK_TIME | datetime | YES | | NULL | |
| TABLE_COLLATION | varchar(32) | YES | | NULL | |
| CHECKSUM | bigint(21) unsigned | YES | | NULL | |
| CREATE_OPTIONS | varchar(2048) | YES | | NULL | |
| TABLE_COMMENT | varchar(2048) | NO | | | |
| MAX_INDEX_LENGTH | bigint(21) unsigned | YES | | NULL | |
| TEMPORARY | varchar(1) | YES | | NULL | |
+------------------+---------------------+------+-----+---------+-------+
[주요 컬럼 정보]
TABLE_SCHEMA : 테이블이 속한 스키마(데이터베이스)의 이름입니다.
TABLE_NAME : 테이블의 이름입니다.
TABLE_TYPE : 테이블의 유형입니다.
(SYSTEM VIEW, BASE TABLE, VIEW)
ENGINE : 테이블용 스토리지 엔진
(InnoDB, MyISAM, PERFORMANCE_SCHEMA, Aria, CSV, MEMORY)
TABLE_ROWS : 테이블의 행 개수
→ MyISAM은 정확한 개수를 저장
→ InnoDB경우 이 값은 근사치이며 실제 값과 40%에서 50%까지 다를 수 있습니다.
(정확한 값은 SELECT COUNT(*))
AVG_ROW_LENGTH : 평균 행 길이
DATA_LENGTH :
→ MyISAM의 경우 데이터 파일의 길이(바이트)
→ InnoDB의 경우 클러스터형 인덱스에 할당된 대략적인 공간의 양(바이트)
MAX_DATA_LENGTH :
→ MyISAM의 경우 MAX_DATA_LENGTH데이터 파일의 최대 길이
→ InnoDB에 대해 사용하지 않음
INDEX_LENGTH :
→ MyISAM의 경우 INDEX_LENGTH 인덱스 파일의 길이(바이트)
→ InnoDB의 경우 INDEX_LENGTH 클러스터 되지 않은 인덱스에 할당된 대략적인 공간의 양(바이트)
DATA_FREE : 할당되었지만 사용되지 않은 바이트 수
AUTO_INCREMENT : 다음에 들어갈 AUTO_INCREMENT값
CREATE_TIME : 테이블 생성시간
UPDATE_TIME : 데이터 파일이 마지막으로 업데이트된 시간
TABLE_COLLATION : 해당 문자셋을 어떻게 정렬할지를 결정하는 알고리즘
→ ORDER BY 나 LIKE, Primary Key 나 Unique, 비교 연산자 등 여러 SQL 연산에 영향을 줌
CREATE_OPTIONS : CREATE TABLE와 함께 사용되는 추가 옵션
TABLE_COMMENT : 테이블을 생성할 때 사용된 주석
2. DB 크기 조회
SELECT table_schema,
ROUND(SUM(data_length + index_length),2) as 'SIZE(B)',
ROUND(SUM(data_length + index_length)/(1024),2) as 'SIZE(KB)',
ROUND(SUM(data_length + index_length)/(1024*1024),2) as 'SIZE(MB)',
ROUND(SUM(data_length + index_length)/(1024*1024*1024),2) as 'SIZE(GB)'
FROM information_schema.tables
WHERE table_schema = 'DB 이름'
GROUP BY table_schema
ORDER BY 2 DESC;
3. TABLE 크기 조회
SELECT table_name,
ROUND((data_length + index_length),2) as 'Size(B)',
ROUND((data_length + index_length)/(1024),2) as 'Size(KB)',
ROUND((data_length + index_length)/(1024*1024),2) as 'Size(MB)',
ROUND((data_length + index_length)/(1024*1024*1024),2) as 'Size(GB)'
FROM information_schema.tables
WHERE table_schema = 'DB 이름'
# AND table_name = 'Table 이름'
GROUP BY table_name
ORDER BY 2 DESC;
4. 실제 파일 크기 조회
1. 데이터 파일 경로 조회
SHOW VARIABLES
WHERE Variable_name = 'datadir';
2. 경로로 접근하여 확인
// 특정 디렉터리의 하위 디렉터리 포함 크기 조회(kb 단위)
# du /var/lib/mysql/
2804 /var/lib/mysql/mysql
4 /var/lib/mysql/performance_schema
2212276 /var/lib/mysql/test_db
2426976 /var/lib/mysql/
// 특정 디렉터리의 하위 디렉터리 포함 크기 조회(-h 옵션 사용하여 보기 좋은 단위로 변경)
# du -h /var/lib/mysql/
2.8M /var/lib/mysql/mysql
4.0K /var/lib/mysql/performance_schema
2.2G /var/lib/mysql/test_db
2.4G /var/lib/mysql/
// 특정 디렉터리만 크기 조회
# du -sh /var/lib/mysql/
2.4G /var/lib/mysql/
'DB > MySQL-MariaDB' 카테고리의 다른 글
[Mysql/MariaDB] DB 관리전용 유틸리티 (mysqladmin) (0) | 2022.02.21 |
---|---|
[Mysql/MariaDB] DB 데이터 경로 변경 (datadir) (0) | 2022.02.19 |
[Mysql/MariaDB] DB 프로세스 목록 확인(show processlist) (0) | 2022.02.17 |
[Mysql/MariaDB] DB 서버 시스템 변수 변경 (Server System Variables) (0) | 2022.02.16 |
[Mysql/MariaDB] DB 시스템 변수 확인(show variable) (0) | 2022.02.15 |