Loading...
MySQL 9.5 Reference Manual 9.5의 28.4.29 The INFORMATION_SCHEMA INNODB_VIRTUAL Table의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
INNODB_VIRTUAL table은 InnoDB virtual generated columns 및 virtual generated column이 기반으로 하는 column에 대한 메타데이터를 제공합니다.
INNODB_VIRTUAL table에는 virtual generated column이 기반으로 하는 각 column마다 한 개의 row가 존재합니다.
INNODB_VIRTUAL table에는 다음과 같은 column이 있습니다:
TABLE_IDvirtual column이 연결된 table을 나타내는 식별자입니다. INNODB_TABLES.TABLE_ID와 동일한 값입니다.
POSvirtual generated column의 위치 값입니다. 이 값은 column 시퀀스 번호와 ordinal position을 인코딩하기 때문에 큰 값입니다. 값을 계산하는 데 사용되는 수식은 비트 연산을 사용합니다:
1((nth virtual generated column for the InnoDB instance + 1) << 16) 2+ the ordinal position of the virtual generated column
예를 들어, InnoDB 인스턴스에서 첫 번째 virtual generated column이 table의 세 번째 column인 경우 수식은 (0 + 1) << 16) + 2입니다. InnoDB 인스턴스에서 첫 번째 virtual generated column의 번호는 항상 0입니다. table의 세 번째 column이므로 virtual generated column의 ordinal position은 2입니다. ordinal position은 0부터 계산합니다.
BASE_POSvirtual generated column이 기반으로 하는 column의 ordinal position입니다.
1mysql> CREATE TABLE `t1` ( 2 `a` int(11) DEFAULT NULL, 3 `b` int(11) DEFAULT NULL, 4 `c` int(11) GENERATED ALWAYS AS (a+b) VIRTUAL, 5 `h` varchar(10) DEFAULT NULL 6 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; 7 8mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_VIRTUAL 9 WHERE TABLE_ID IN 10 (SELECT TABLE_ID FROM INFORMATION_SCHEMA.INNODB_TABLES 11 WHERE NAME LIKE "test/t1"); 12+----------+-------+----------+ 13| TABLE_ID | POS | BASE_POS | 14+----------+-------+----------+ 15| 98 | 65538 | 0 | 16| 98 | 65538 | 1 | 17+----------+-------+----------+
INNODB_VIRTUAL table에 나타나지 않습니다. entry가 나타나려면 virtual generated column에 base column이 있어야 합니다.1CREATE TABLE `t1` ( 2 `a` int(11) DEFAULT NULL, 3 `b` int(11) DEFAULT NULL, 4 `c` int(11) GENERATED ALWAYS AS (5) VIRTUAL 5) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
그러나 이러한 column에 대한 메타데이터는 INNODB_COLUMNS table에 나타납니다.
이 table을 쿼리하려면 PROCESS 권한이 있어야 합니다.
이 table의 column에 대한 데이터 타입 및 기본값을 포함한 추가 정보를 보려면 INFORMATION_SCHEMA COLUMNS table이나 SHOW COLUMNS statement를 사용하십시오.
28.4.28 The INFORMATION_SCHEMA INNODB_TRX Table
28.5 INFORMATION_SCHEMA Thread Pool Tables