文件首頁
MySQL 9.0 參考手冊
相關文件 下載本手冊
PDF (美式信紙) - 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 參考手冊  /  ...  /  INFORMATION_SCHEMA INNODB_TABLESTATS 檢視表

28.4.26 INFORMATION_SCHEMA INNODB_TABLESTATS 檢視表

INNODB_TABLESTATS 資料表提供關於 InnoDB 資料表低階狀態資訊的檢視表。MySQL 最佳化工具使用此資料來計算在查詢 InnoDB 資料表時要使用的索引。此資訊是從記憶體中的資料結構取得,而不是儲存在磁碟上的資料。沒有對應的內部 InnoDB 系統資料表。

如果 InnoDB 資料表自上次伺服器重新啟動後開啟,且未從資料表快取中過期,則會在該檢視表中顯示。具備持久性統計資料的資料表會一直在此檢視表中顯示。

只有在 DELETEUPDATE 作業修改索引欄位時,才會更新資料表統計資料。修改非索引欄位的作業不會更新統計資料。

ANALYZE TABLE 會清除資料表統計資料,並將 STATS_INITIALIZED 欄設定為 Uninitialized。下次存取資料表時,會再次收集統計資料。

如需相關使用資訊和範例,請參閱 第 17.15.3 節,「InnoDB INFORMATION_SCHEMA 綱要物件資料表」

INNODB_TABLESTATS 資料表具有下列欄位

  • TABLE_ID

    代表可取得統計資料的資料表識別碼;與 INNODB_TABLES.TABLE_ID 的值相同。

  • NAME

    資料表的名稱;與 INNODB_TABLES.NAME 的值相同。

  • STATS_INITIALIZED

    如果已收集統計資料,則值為 Initialized,否則為 Uninitialized

  • NUM_ROWS

    資料表中目前估計的列數。在每個 DML 作業之後更新。如果有未提交的事務正在插入或從資料表中刪除,則值可能不精確。

  • CLUST_INDEX_SIZE

    磁碟上儲存叢集索引的頁面數,此索引會依主索引鍵順序保留 InnoDB 資料表資料。如果尚未收集資料表的任何統計資料,則此值可能為 Null。

  • OTHER_INDEX_SIZE

    磁碟上儲存資料表所有次要索引的頁面數。如果尚未收集資料表的任何統計資料,則此值可能為 Null。

  • MODIFIED_COUNTER

    由 DML 作業修改的列數,例如 INSERTUPDATEDELETE,以及來自外部索引鍵的串聯作業。每次重新計算資料表統計資料時,都會重設此欄位。

  • AUTOINC

    要針對任何自動遞增作業發行的下一個號碼。AUTOINC 值變更的速度取決於已要求自動遞增號碼的次數,以及每個要求授與的號碼數。

  • REF_COUNT

    當此計數器達到零時,可以從資料表快取中移除資料表的中繼資料。

範例

mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_TABLESTATS where TABLE_ID = 71\G
*************************** 1. row ***************************
         TABLE_ID: 71
             NAME: test/t1
STATS_INITIALIZED: Initialized
         NUM_ROWS: 1
 CLUST_INDEX_SIZE: 1
 OTHER_INDEX_SIZE: 0
 MODIFIED_COUNTER: 1
          AUTOINC: 0
        REF_COUNT: 1

注意事項

  • 此資料表主要適用於專家級效能監控,或為 MySQL 開發與效能相關的擴充功能時。

  • 您必須擁有 PROCESS 權限才能查詢此資料表。

  • 使用 INFORMATION_SCHEMACOLUMNS 資料表,或是使用 SHOW COLUMNS 陳述式,來檢視此資料表的欄位額外資訊,包含資料類型和預設值。