14.15.5 InnoDB 테이블 모니터 출력
InnoDB
테이블 모니터는 사용되지 않으며 추후 릴리스에서 제거 될 수 있습니다. 유사한 정보는 InnoDB
INFORMATION_SCHEMA
테이블에서 얻을 수 있습니다. 섹션 21.29 "InnoDB의 INFORMATION_SCHEMA 테이블" 을 참조하십시오.
InnoDB
테이블 모니터는 InnoDB
내부 데이터 사전의 내용을 출력합니다.
이 출력은 테이블 당 하나의 섹션이 포함되어 있습니다. SYS_FOREIGN
및 SYS_FOREIGN_COLS
섹션은 외부 키에 대한 정보를 유지하는 내부 데이터 사전 테이블을위한 것입니다. 또한 테이블 모니터 테이블 또는 사용자가 작성한 각 InnoDB
테이블을위한 섹션도 있습니다. test
데이터베이스에 두 개의 테이블이 생성되었다고합니다.
CREATE TABLE parent ( par_id INT NOT NULL, fname CHAR (20) lname CHAR (20) PRIMARY KEY (par_id) UNIQUE INDEX (lname, fname) ) ENGINE = INNODB; CREATE TABLE child ( par_id INT NOT NULL, child_id INT NOT NULL, name VARCHAR (40) birth DATE, weight DECIMAL (10,2) misc_info VARCHAR (255) last_update TIMESTAMP, PRIMARY KEY (par_id, child_id) INDEX (name) FOREIGN KEY (par_id) REFERENCES parent (par_id) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE = INNODB;
이 경우 테이블 모니터의 출력은 다음과 같습니다 (형식을 약간 수정했습니다).
=========================================== 090420 12:09:32 INNODB TABLE MONITOR OUTPUT =========================================== -------------------------------------- TABLE : name SYS_FOREIGN, id 0 11, columns 7, indexes 3, appr.rows 1 COLUMNS : ID : DATA_VARCHAR DATA_ENGLISH len 0; FOR_NAME : DATA_VARCHAR DATA_ENGLISH len 0; REF_NAME : DATA_VARCHAR DATA_ENGLISH len 0; N_COLS : DATA_INT len 4; DB_ROW_ID : DATA_SYS prtype 256 len 6; DB_TRX_ID : DATA_SYS prtype 257 len 6; INDEX : name ID_IND, id 0 11 fields 1/6, uniq 1, type 3 root page 46, appr.key vals 1 leaf pages 1, size pages 1 FIELDS : ID DB_TRX_ID DB_ROLL_PTR FOR_NAME REF_NAME N_COLS INDEX : name FOR_IND, id 0 12 fields 1/2, uniq 2, type 0 root page 47, appr.key vals 1 leaf pages 1, size pages 1 FIELDS : FOR_NAME ID INDEX : name REF_IND, id 0 13, fields 1/2, uniq 2, type 0 root page 48, appr.key vals 1 leaf pages 1, size pages 1 FIELDS : REF_NAME ID -------------------------------------- TABLE : name SYS_FOREIGN_COLS, id 0 12, columns 7, indexes 1 appr.rows 1 COLUMNS : ID : DATA_VARCHAR DATA_ENGLISH len 0; POS : DATA_INT len 4; FOR_COL_NAME : DATA_VARCHAR DATA_ENGLISH len 0; REF_COL_NAME : DATA_VARCHAR DATA_ENGLISH len 0; DB_ROW_ID : DATA_SYS prtype 256 len 6; DB_TRX_ID : DATA_SYS prtype 257 len 6; INDEX : name ID_IND, id 0 14, fields 2/6, uniq 2, type 3 root page 49, appr.key vals 1 leaf pages 1, size pages 1 FIELDS : ID POS DB_TRX_ID DB_ROLL_PTR FOR_COL_NAME REF_COL_NAME -------------------------------------- TABLE : name test / child, id 0 14, columns 10, indexes 2, appr.rows 201 COLUMNS : par_id : DATA_INT DATA_BINARY_TYPE DATA_NOT_NULL len 4; child_id : DATA_INT DATA_BINARY_TYPE DATA_NOT_NULL len 4; name : DATA_VARCHAR prtype 524303 len 40; birth : DATA_INT DATA_BINARY_TYPE len 3; weight : DATA_FIXBINARY DATA_BINARY_TYPE len 5; misc_info : DATA_VARCHAR prtype 524303 len 255; last_update : DATA_INT DATA_UNSIGNED DATA_BINARY_TYPE DATA_NOT_NULL len 4; DB_ROW_ID : DATA_SYS prtype 256 len 6; DB_TRX_ID : DATA_SYS prtype 257 len 6; INDEX : name PRIMARY, id 0 17 fields 2/9, uniq 2, type 3 root page 52, appr.key vals 201, leaf pages 5, size pages 6 FIELDS : par_id child_id DB_TRX_ID DB_ROLL_PTR name birth weight misc_info last_update INDEX : name name, id 0 18 fields 1/3, uniq 3, type 0 root page 53, appr.key vals 210, leaf pages 1, size pages 1 FIELDS : name par_id child_id FOREIGN KEY CONSTRAINT test / child_ibfk_1 : test / child (par_id) REFERENCES test / parent (par_id) -------------------------------------- TABLE : name test / innodb_table_monitor, id 0 15, columns 4, indexes 1 appr.rows 0 COLUMNS : i : DATA_INT DATA_BINARY_TYPE len 4; DB_ROW_ID : DATA_SYS prtype 256 len 6; DB_TRX_ID : DATA_SYS prtype 257 len 6; INDEX : name GEN_CLUST_INDEX, id 0 19 fields 0/4, uniq 1, type 1 root page 193, appr.key vals 0, leaf pages 1, size pages 1 FIELDS : DB_ROW_ID DB_TRX_ID DB_ROLL_PTR i -------------------------------------- TABLE : name test / parent, id 0 13, columns 6, indexes 2, appr.rows 299 COLUMNS : par_id : DATA_INT DATA_BINARY_TYPE DATA_NOT_NULL len 4; fname : DATA_CHAR prtype 524542 len 20; lname : DATA_CHAR prtype 524542 len 20; DB_ROW_ID : DATA_SYS prtype 256 len 6; DB_TRX_ID : DATA_SYS prtype 257 len 6; INDEX : name PRIMARY, id 0 15 fields 1/5, uniq 1, type 3 root page 50, appr.key vals 299 leaf pages 2, size pages 3 FIELDS : par_id DB_TRX_ID DB_ROLL_PTR fname lname INDEX : name lname, id 0 16, fields 2/3, uniq 2, type 2 root page 51, appr.key vals 300 leaf pages 1, size pages 1 FIELDS : lname fname par_id FOREIGN KEY CONSTRAINT test / child_ibfk_1 : test / child (par_id) REFERENCES test / parent (par_id) ----------------------------------- END OF INNODB TABLE MONITOR OUTPUT ==================================
테이블 모니터의 출력에는 테이블마다 해당 테이블에 대한 일반적인 정보와 컬럼, 인덱스 및 외부 키에 대한 특정 정보를 표시하는 섹션이 포함되어 있습니다.
테이블 당 일반 정보에는 테이블 이름 (내부 테이블을 제외하고
형식) 해당 ID 컬럼과 인덱스의 수와 요약의 행수가 포함되어 있습니다. db_name
/ tbl_name
테이블 섹션의 COLUMNS
부분은 테이블의 각 컬럼이 나열됩니다. 컬럼 당 정보에는 이름과 데이터 형의 특성이 표시됩니다. InnoDB
에 의해 DB_ROW_ID
(행 ID) DB_TRX_ID
(트랜잭션 ID) DB_ROLL_PTR
(롤백 / Undo 데이터에 대한 포인터) 등의 일부 내부 열이 추가됩니다.
DATA_
:이 심볼은 데이터 형식을 나타냅니다. 특정 컬럼에 대해 여러xxx
DATA_
심볼이있을 수 있습니다.xxx
prtype
: 컬럼의 "정확한"형. 이 필드에는 그 열의 데이터 형, 문자 세트 코드 NULL 가능성 부호의 유무, 그것이 이진 문자열인지 여부 등의 정보가 포함됩니다. 이 필드는innobase/include/data0type.h
소스 파일에 설명되어 있습니다.len
: 컬럼의 길이 (바이트 단위).
테이블 섹션의 각 INDEX
부분은 하나의 테이블 인덱스의 이름과 특성을 제공합니다.
name
: 인덱스 이름. 이 이름이PRIMARY
인 경우, 그 인덱스는 기본 키입니다. 이 이름이GEN_CLUST_INDEX
인 경우, 그 인덱스는 테이블 정의에 기본 키 또는NULL
이 아닌 고유 인덱스가 포함되어 있지 않을 때 자동으로 생성되는 클러스터 된 인덱스입니다. 섹션 14.2.13.2 "클러스터 인덱스와 보조 인덱스" 를 참조하십시오.id
: 인덱스 ID입니다.fields
: 인덱스의 필드의 수.
형식의 값입니다.m
/n
m
사용자 정의 컬럼의 수입니다. 즉,CREATE TABLE
문에 인덱스 정의에 표시되는 열 수입니다.n
은 내부적으로 추가 된 것을 포함 인덱스 컬럼의 수입니다. 클러스터 된 인덱스의 경우,이 총은 테이블 정의의 다른 컬럼 이외에 내부적으로 추가 된 모든 컬럼이 포함됩니다. 보조 인덱스의 경우,이 총은 보조 인덱스에 포함되지 않은 기본 키 열이 포함되어 있습니다.
uniq
: 인덱스 값을 고유하게 식별하는 데 충분한 선두 필드의 수입니다.type
: 인덱스 유형. 이것은 비트 필드입니다. 예를 들어, 1은 클러스터 된 인덱스를 나타내며 2는 고유 인덱스를 보여주기 위해 클러스터 된 인덱스 (항상 고유 한 값을 포함합니다)의type
값은 3입니다.type
값이 0 인 인덱스는 클러스터 된 인덱스에서도 고유 인덱스도 없습니다. 이러한 플래그 값은innobase/include/dict0mem.h
소스 파일에 정의되어 있습니다.root page
: 인덱스의 루트 페이지 번호.appr. key vals
: 요약 인덱스 카디 낼 리티.leaf pages
: 인덱스의 리프 페이지의 근사치.size pages
: 인덱스의 개략적 페이지 수입니다.FIELDS
: 인덱스 내의 필드의 이름입니다. 자동으로 생성 된 클러스터 된 인덱스의 경우,이 필드 목록은 내부DB_ROW_ID
(행 ID) 필드에서 시작됩니다. 클러스터 된 인덱스는 기본 키를 구성하는 필드에 계속 항상DB_TRX_ID
과DB_ROLL_PTR
가 내부적으로 추가됩니다. 보조 인덱스의 경우 지난 몇 필드는 보조 인덱스에 포함되지 않은 기본 키 필드입니다.
테이블 섹션의 마지막에는 그 테이블에 적용되는 FOREIGN KEY
정의가 나열됩니다. 이 정보는 그 테이블이 참조하는 테이블이나 참조되는 테이블의 어느 것이어도 표시됩니다.