文件首頁
MySQL 9.0 參考手冊
相關文件 下載本手冊
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
Man Pages (TGZ) - 258.2Kb
Man Pages (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 9.0 參考手冊  /  ...  /  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 是在伺服器啟動時動態產生的,因此可能會有所不同。