반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- Java 1.8
- statement.executequery() cannot issue statements that do not produce result sets.
- parse
- tls프로토콜확인
- ssl프로토콜확인
- AWS CLI
- yum install java
- java version
- mysql executequery error
- java
- JUnit
- java 버전 변경
- error
- No tests found for given includes
- LeetCode
- log error
- java 여러개 버전
- easy
- springboot
- springboottest
- java 11
- 스프링부트테스트
- java 1.8 11
- ssl이란?
- xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools)
- aws
- mac os git error
- xcrun: error: invalid active developer path
- Medium
- OpenFeign
Archives
- Today
- Total
쩨이엠 개발 블로그
[mysql] DB Table 데이터 크기 확인하기 및 TABLES 필드 설명 본문
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
반응형
'개발 > ETC' 카테고리의 다른 글
[MySQL] AES-256 암복호화 설정 (AES_DECRYPT) (0) | 2023.09.06 |
---|---|
[MySQL] GenerationTarget encountered exception accepting command : Error executing DDL via JDBC Statement (0) | 2023.05.16 |
[ linux ] crontab 특정 유저로 실행하기 (0) | 2022.12.13 |
[linux] Binary file * matches 및 Grep option 사용법 (0) | 2022.04.05 |
[MySQL] 파티션 추가 / 재구성 (0) | 2022.01.17 |
Comments