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「バッファプール」 を参照してください。