文件首頁
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 參考手冊  /  ...  /  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_SCHEMA COLUMNS 表格或 SHOW COLUMNS 陳述式,以檢視有關此表格欄的額外資訊,包括資料類型和預設值。