MySQL 9.0 版本資訊
INNODB_TEMP_TABLE_INFO
提供有關在 InnoDB
實例中啟用的使用者建立的 InnoDB
暫存表格的資訊。它不提供有關最佳化器使用的內部 InnoDB
暫存表格的資訊。
mysql> SHOW TABLES FROM INFORMATION_SCHEMA LIKE 'INNODB_TEMP%';
+---------------------------------------------+
| Tables_in_INFORMATION_SCHEMA (INNODB_TEMP%) |
+---------------------------------------------+
| INNODB_TEMP_TABLE_INFO |
+---------------------------------------------+
如需表格定義,請參閱第 28.4.27 節「INFORMATION_SCHEMA INNODB_TEMP_TABLE_INFO 表格」。
範例 17.12 INNODB_TEMP_TABLE_INFO
此範例示範 INNODB_TEMP_TABLE_INFO
表格的特性。
建立一個簡單的
InnoDB
暫存表格mysql> CREATE TEMPORARY TABLE t1 (c1 INT PRIMARY KEY) ENGINE=INNODB;
查詢
INNODB_TEMP_TABLE_INFO
以檢視暫存表格中繼資料。mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_TEMP_TABLE_INFO\G *************************** 1. row *************************** TABLE_ID: 194 NAME: #sql7a79_1_0 N_COLS: 4 SPACE: 182
TABLE_ID
是暫存表格的唯一識別碼。NAME
欄會顯示暫存表格的系統產生名稱,其開頭為 「#sql」。欄數(N_COLS
)是 4 而不是 1,因為InnoDB
一律會建立三個隱藏的表格欄(DB_ROW_ID
、DB_TRX_ID
和DB_ROLL_PTR
)。重新啟動 MySQL 並查詢
INNODB_TEMP_TABLE_INFO
。mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_TEMP_TABLE_INFO\G
由於
INNODB_TEMP_TABLE_INFO
及其資料在伺服器關閉時不會保存到磁碟,因此會傳回空的集合。建立新的暫存表格。
mysql> CREATE TEMPORARY TABLE t1 (c1 INT PRIMARY KEY) ENGINE=INNODB;
查詢
INNODB_TEMP_TABLE_INFO
以檢視暫存表格中繼資料。mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_TEMP_TABLE_INFO\G *************************** 1. row *************************** TABLE_ID: 196 NAME: #sql7b0e_1_0 N_COLS: 4 SPACE: 184
由於
SPACE
ID 是在伺服器啟動時動態產生的,因此可能會有所不同。