MySQL 8.0 リファレンスマニュアル


MySQL 8.0 リファレンスマニュアル  /  ...  /  INFORMATION_SCHEMA INNODB_BUFFER_PAGE_LRU テーブル

26.51.2 INFORMATION_SCHEMA INNODB_BUFFER_PAGE_LRU テーブル

INNODB_BUFFER_PAGE_LRU テーブルには、InnoDB buffer pool のページに関する情報、特に LRU リストでのページの順序付け方法が示されます。LRU リストでは、ページがいっぱいになったときにバッファプールから evict に表示されるページが決定されます。

INNODB_BUFFER_PAGE_LRU テーブルには INNODB_BUFFER_PAGE テーブルと同じカラムがありますが、いくつかの例外があります。 これには、BLOCK_ID および PAGE_STATE カラムのかわりに LRU_POSITION および COMPRESSED カラムが含まれ、IS_STALE カラムは含まれません。

関連する使用法と使用例については、セクション15.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

    ページタイプ。 次の表は、許可される値を示しています。

    表 26.3 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 undo ログページ
    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

    最も若い変更のログ順序番号。

  • OLDEST_MODIFICATION

    最も古い変更のログ順序番号。

  • ACCESS_TIME

    ページの最初のアクセス時間の判断に使用される無名数。

  • TABLE_NAME

    ページが属するテーブルの名前。 このカラムは、PAGE_TYPE 値が INDEX のページにのみ適用されます。

  • 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 バイト倍を超える連続メモリーの大きなブロックを割り当てる必要があります。 この割り当ては、特に数 G バイトのバッファープールを持つシステムで、メモリー不足エラーを引き起こす可能性があります。

  • このテーブルをクエリーした場合、MySQLで、LRU リストのトラバース中、バッファープールを表すデータ構造をロックする必要があります。これにより、特に数 G バイトのバッファープールを持つシステムで並列性を軽減できます。

  • テーブル、テーブルの行、パーティションまたはインデックスが削除されると、他のデータに領域が必要になるまで、関連付けられたページはバッファプールに残ります。 INNODB_BUFFER_PAGE_LRU テーブルでは、バッファプールから削除されるまで、これらのページに関する情報がレポートされます。 InnoDB がバッファープールデータを管理する方法の詳細は、セクション15.5.1「バッファプール」 を参照してください。


関連キーワード:  テーブル, SCHEMA, INFORMATION, INNODB, ページ, PAGE, LRU, BUFFER, 圧縮, インデックス