文件首頁
MySQL 8.4 參考手冊
相關文件 下載本手冊
PDF (US Ltr) - 39.9Mb
PDF (A4) - 40.0Mb
Man Pages (TGZ) - 258.5Kb
Man Pages (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 參考手冊  /  ...  /  InnoDB INFORMATION_SCHEMA 暫存表格資訊表

17.15.7 InnoDB INFORMATION_SCHEMA 暫存表格資訊表

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 表格的特性。

  1. 建立一個簡單的 InnoDB 暫存表格

    mysql> CREATE TEMPORARY TABLE t1 (c1 INT PRIMARY KEY) ENGINE=INNODB;
  2. 查詢 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_IDDB_TRX_IDDB_ROLL_PTR)。

  3. 重新啟動 MySQL 並查詢 INNODB_TEMP_TABLE_INFO

    mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_TEMP_TABLE_INFO\G

    會傳回空集合,因為當伺服器關閉時,INNODB_TEMP_TABLE_INFO 及其資料不會保存到磁碟。

  4. 建立新的暫存表格。

    mysql> CREATE TEMPORARY TABLE t1 (c1 INT PRIMARY KEY) ENGINE=INNODB;
  5. 查詢 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 可能不同,因為它是在伺服器啟動時動態產生的。