21.29.7 INFORMATION_SCHEMA INNODB_SYS_TABLES 테이블
INNODB_SYS_TABLES
테이블은 InnoDB
데이터 사전의 SYS_TABLES
테이블의 정보와 동등한 InnoDB
테이블에 대한 메타 데이터를 제공합니다.
관련 사용법 및 예제는 섹션 14.14.3 "InnoDB INFORMATION_SCHEMA 시스템 테이블" 을 참조하십시오.
표 21.7 INNODB_SYS_TABLES 컬럼
컬럼 이름 | 설명 |
---|---|
TABLE_ID | 인스턴스의 모든 데이터베이스에서 고유 한 각 InnoDB 테이블의 식별자. |
NAME | 테이블의 이름. test/t1 처럼 필요에 따라 데이터베이스 이름이 앞에 놓여 있습니다. InnoDB 시스템 테이블 이름은 모두 대문자입니다. 데이터베이스 및 사용자 테이블 이름의 대 / 소문자는 원래 정의 된 것과 같고, lower_case_table_names 설정의 영향을받을 가능성이 있습니다. |
FLAG | 이 값은 행 형식 압축 페이지 크기 (해당하는 경우), DATA DIRECTORY 절 CREATE TABLE 또는 ALTER TABLE 의 사용 여부 등의 테이블 형식 및 저장 특성에 관한 비트 수준 정보를 제공합니다. |
N_COLS | 테이블의 컬럼의 수. 보고 된 수치는 InnoDB 에 의해 창조 된 3 개의 숨겨진 컬럼 ( DB_ROW_ID , DB_TRX_ID , DB_ROLL_PTR )가 포함되어 있습니다. |
SPACE | 테이블이있는 테이블 스페이스의 식별자. 0은 InnoDB 시스템 테이블 스페이스 를 나타냅니다. 다른 수치는 모든 개별 .ibd 파일을 사용하여 file-per-table 모드에서 만든 테이블을 나타냅니다. 이 식별자는 TRUNCATE TABLE 문 후에도 그대로 유지됩니다. 0이 아닌 값으로는이 식별자는이 인스턴스의 모든 데이터베이스 간의 테이블에서 고유합니다. |
FILE_FORMAT | 테이블의 파일 형식 (Antelope 또는 Barracuda). |
ROW_FORMAT | 테이블의 행 형식 (Compact, Redundant, Dynamic, 또는 Compressed). |
ZIP_PAGE_SIZE | Zip 페이지 크기. Compressed 행 형식을 사용하는 테이블에만 적용됩니다. |
예 :
mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE TABLE_ID = 74 \G *************************** 1. row *************************** TABLE_ID: 74 NAME: test/t1 FLAG: 1 N_COLS: 6 SPACE: 60 FILE_FORMAT: Antelope ROW_FORMAT: Compact ZIP_PAGE_SIZE: 0 1 row in set (0.00 sec)
참고 :
DESCRIBE
또는SHOW COLUMNS
를 사용하여 데이터 유형 및 기본값을 포함하여이 테이블의 컬럼에 대한 추가 정보를 표시합니다.이 테이블을 쿼리하려면
PROCESS
권한이 필요합니다.
INNODB_SYS_TABLES.FLAG 컬럼 값의 해석
INNODB_SYS_TABLES.FLAG
컬럼은 테이블 형식 및 저장 특성에 관한 비트 수준 정보를 제공합니다. 다음 표에 표시된 해당하는 10 진수 값을 함께 추가하면 FLAG
컬럼 값을 해석 할 수 있습니다.
표 21.8 INNODB_SYS_TABLES FLAG 컬럼 데이터를 해석하는 비트 위치 값
Bit 위치 | Description | Decimal Numeric Value |
---|---|---|
0 | 행 형식이 REDUNDANT 않은 경우이 비트가 설정됩니다. 즉, 행 형식이 COMPACT , DYNAMIC 또는 COMPRESSED 의 경우에 설정됩니다. |
|
1-4 | 이러한 4 개의 비트는 테이블의 압축 된 페이지 크기를 나타내는 작은 숫자가 포함되어 있습니다. INNODB_SYS_TABLES.ZIP_PAGE_SIZE 필드에 해당하는 경우, 압축 된 페이지 크기가보고됩니다. |
|
5 | 행 형식이 DYNAMIC 또는 COMPRESSED 의 경우이 비트가 설정됩니다. |
|
6 | CREATE TABLE 또는 ALTER TABLE 에 DATA DIRECTORY 옵션이 사용 된 경우이 비트가 설정됩니다. 기본 데이터 디렉토리 ( datadir ) 이외의 디렉토리에 놓인 file-per-table 테이블 공간이 비트가 설정됩니다. 이 테이블은 파일은 파일과 같은 위치에 존재합니다. 파일에는 file-per-table 테이블 공간 파일에 실제 디렉토리 경로가 포함됩니다. |
|
다음 테이블 t1
에서는 ROW_FORMAT=DYNAMIC
를 사용하여 FLAG
값은 33입니다. 위 표의 정보에 따르면 DYNAMIC
행 형식의 테이블에서 비트 위치 0을 1로, 비트 위치 5가 32로 설정되는 것을 알 수 있습니다. 이 값은 총 33 FLAG
값입니다.
mysql> use test; Database changed mysql> SET GLOBAL innodb_file_format=Barracuda; Query OK, 0 rows affected (0.00 sec) mysql> CREATE TABLE t1 (c1 int) ROW_FORMAT=DYNAMIC; Query OK, 0 rows affected (0.02 sec) mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE 'test/t1' \G *************************** 1. row *************************** TABLE_ID: 89 NAME: test/t1 FLAG: 33 N_COLS: 4 SPACE: 75 FILE_FORMAT: Barracuda ROW_FORMAT: Dynamic ZIP_PAGE_SIZE: 0 1 row in set (0.01 sec)