文件首頁
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_BUFFER_PAGE_LRU 表格

28.4.3 INFORMATION_SCHEMA INNODB_BUFFER_PAGE_LRU 表格

INNODB_BUFFER_PAGE_LRU 表格提供關於 InnoDB 緩衝池中頁面的資訊;特別是,它們在 LRU 列表中是如何排序的,LRU 列表決定當緩衝池滿時,要從緩衝池逐出哪些頁面。

INNODB_BUFFER_PAGE_LRU 表格與 INNODB_BUFFER_PAGE 表格具有相同的欄位,但有一些例外。它具有 LRU_POSITIONCOMPRESSED 欄位,而不是 BLOCK_IDPAGE_STATE 欄位,並且不包含 IS_STALE 欄位。

關於相關的使用資訊和範例,請參閱 第 17.15.5 節,「InnoDB INFORMATION_SCHEMA 緩衝池表格」

警告

查詢 INNODB_BUFFER_PAGE_LRU 表格可能會影響效能。除非您知道效能影響並且已確定它可以接受,否則請勿在生產系統上查詢此表格。為了避免影響生產系統的效能,請重現您要調查的問題,並在測試實例上查詢緩衝池統計資訊。

INNODB_BUFFER_PAGE_LRU 表格具有以下欄位:

  • POOL_ID

    緩衝池 ID。這是一個用於區分多個緩衝池實例的識別符。

  • LRU_POSITION

    頁面在 LRU 列表中的位置。

  • SPACE

    表空間 ID;與 INNODB_TABLES.SPACE 的值相同。

  • PAGE_NUMBER

    頁碼。

  • PAGE_TYPE

    頁面類型。下表顯示允許的值。

    表格 28.6 INNODB_BUFFER_PAGE_LRU.PAGE_TYPE 值

    頁面類型 說明
    ALLOCATED 新分配的頁面
    BLOB 未壓縮的 BLOB 頁面
    COMPRESSED_BLOB2 後續壓縮的 BLOB 頁面
    COMPRESSED_BLOB 第一個壓縮的 BLOB 頁面
    ENCRYPTED_RTREE 加密的 R 樹
    EXTENT_DESCRIPTOR 範圍描述符頁面
    FILE_SPACE_HEADER 檔案空間標頭
    FIL_PAGE_TYPE_UNUSED 未使用
    IBUF_BITMAP 插入緩衝位圖
    IBUF_FREE_LIST 插入緩衝可用列表
    IBUF_INDEX 插入緩衝索引
    INDEX B 樹節點
    INODE 索引節點
    LOB_DATA 未壓縮的 LOB 資料
    LOB_FIRST 未壓縮的 LOB 的第一頁
    LOB_INDEX 未壓縮的 LOB 索引
    PAGE_IO_COMPRESSED 壓縮頁面
    PAGE_IO_COMPRESSED_ENCRYPTED 壓縮且加密的頁面
    PAGE_IO_ENCRYPTED 加密的頁面
    RSEG_ARRAY 回滾段陣列
    RTREE_INDEX R 樹索引
    SDI_BLOB 未壓縮的 SDI BLOB
    SDI_COMPRESSED_BLOB 已壓縮的 SDI BLOB
    SDI_INDEX SDI 索引
    SYSTEM 系統頁面
    TRX_SYSTEM 交易系統資料
    UNDO_LOG 復原日誌頁面
    UNKNOWN 未知
    ZLOB_DATA 已壓縮的 LOB 資料
    ZLOB_FIRST 已壓縮 LOB 的第一頁
    ZLOB_FRAG 已壓縮的 LOB 片段
    ZLOB_FRAG_ENTRY 已壓縮的 LOB 片段索引
    ZLOB_INDEX 已壓縮的 LOB 索引

  • FLUSH_TYPE

    刷新類型。

  • FIX_COUNT

    緩衝池中正在使用此區塊的執行緒數量。當為零時,表示此區塊可被清除。

  • IS_HASHED

    此頁面是否已建立雜湊索引。

  • NEWEST_MODIFICATION

    最近一次修改的日誌序號 (Log Sequence Number)。

  • OLDEST_MODIFICATION

    最早一次修改的日誌序號 (Log Sequence Number)。

  • ACCESS_TIME

    用於判斷頁面首次存取時間的抽象數字。

  • TABLE_NAME

    頁面所屬的資料表名稱。此欄位僅適用於 PAGE_TYPE 值為 INDEX 的頁面。如果伺服器尚未存取該資料表,則此欄位為 NULL

  • INDEX_NAME

    頁面所屬的索引名稱。這可以是叢集索引或次要索引的名稱。此欄位僅適用於 PAGE_TYPE 值為 INDEX 的頁面。

  • NUMBER_RECORDS

    頁面內的記錄數量。

  • DATA_SIZE

    記錄大小的總和。此欄位僅適用於 PAGE_TYPE 值為 INDEX 的頁面。

  • COMPRESSED_SIZE

    已壓縮頁面大小。對於未壓縮的頁面,此欄位為 NULL

  • COMPRESSED

    頁面是否已壓縮。

  • IO_FIX

    此頁面是否有任何 I/O 正在等待:IO_NONE = 無等待的 I/O,IO_READ = 讀取等待中,IO_WRITE = 寫入等待中。

  • IS_OLD

    區塊是否位於 LRU 列表的舊區塊子列表中。

  • FREE_PAGE_CLOCK

    當區塊最後一次放置在 LRU 列表頭部時,freed_page_clock 計數器的值。freed_page_clock 計數器追蹤從 LRU 列表尾部移除的區塊數量。

範例

mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE_LRU LIMIT 1\G
*************************** 1. row ***************************
            POOL_ID: 0
       LRU_POSITION: 0
              SPACE: 97
        PAGE_NUMBER: 1984
          PAGE_TYPE: INDEX
         FLUSH_TYPE: 1
          FIX_COUNT: 0
          IS_HASHED: YES
NEWEST_MODIFICATION: 719490396
OLDEST_MODIFICATION: 0
        ACCESS_TIME: 3378383796
         TABLE_NAME: `employees`.`salaries`
         INDEX_NAME: PRIMARY
     NUMBER_RECORDS: 468
          DATA_SIZE: 14976
    COMPRESSED_SIZE: 0
         COMPRESSED: NO
             IO_FIX: IO_NONE
             IS_OLD: YES
    FREE_PAGE_CLOCK: 0

注意事項

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

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

  • 使用 INFORMATION_SCHEMA COLUMNS 資料表或 SHOW COLUMNS 陳述式,以檢視此資料表欄位的其他資訊,包括資料類型和預設值。

  • 查詢此資料表可能需要 MySQL 分配一大塊連續記憶體,超過緩衝池中活動頁面數乘以 64 位元組。這種分配可能會導致記憶體不足錯誤,特別是對於具有數 GB 緩衝池的系統。

  • 查詢此資料表需要 MySQL 在遍歷 LRU 列表時鎖定表示緩衝池的資料結構,這可能會降低並行性,特別是對於具有數 GB 緩衝池的系統。

  • 當資料表、資料表列、分割區或索引被刪除時,關聯的頁面會保留在緩衝池中,直到其他資料需要空間為止。INNODB_BUFFER_PAGE_LRU 資料表會報告這些頁面的資訊,直到它們從緩衝池中清除。有關 InnoDB 如何管理緩衝池資料的詳細資訊,請參閱 第 17.5.1 節,「緩衝池」