MySQL 8.4 發行說明
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 可能不同,因為它是在伺服器啟動時動態產生的。