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

28.4.3 INFORMATION_SCHEMA INNODB_BUFFER_PAGE_LRU 資料表

INNODB_BUFFER_PAGE_LRU 資料表提供關於 InnoDB 緩衝池中頁面的資訊;特別是它們在 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 Extent 描述元頁面
    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 索引
    系統 系統頁面
    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 節,「緩衝池」