InnoDB
テーブルスペースモニターは非推奨であり、将来のリリースで削除される可能性があります。
InnoDB
テーブルスペースモニターは、共有テーブルスペース内のファイルセグメントに関する情報を出力したり、テーブルスペースの割り当てデータ構造を検証したりします。テーブルスペースモニターでは、innodb_file_per_table
オプションで作成された file-per-table テーブルスペースは記載されません。
InnoDB
テーブルスペースモニターの出力例:
================================================
090408 21:28:09 INNODB TABLESPACE MONITOR OUTPUT
================================================
FILE SPACE INFO: id 0
size 13440, free limit 3136, free extents 28
not full frag extents 2: used pages 78, full frag extents 3
first seg id not used 0 23845
SEGMENT id 0 1 space 0; page 2; res 96 used 46; full ext 0
fragm pages 32; free extents 0; not full extents 1: pages 14
SEGMENT id 0 2 space 0; page 2; res 1 used 1; full ext 0
fragm pages 1; free extents 0; not full extents 0: pages 0
SEGMENT id 0 3 space 0; page 2; res 1 used 1; full ext 0
fragm pages 1; free extents 0; not full extents 0: pages 0
...
SEGMENT id 0 15 space 0; page 2; res 160 used 160; full ext 2
fragm pages 32; free extents 0; not full extents 0: pages 0
SEGMENT id 0 488 space 0; page 2; res 1 used 1; full ext 0
fragm pages 1; free extents 0; not full extents 0: pages 0
SEGMENT id 0 17 space 0; page 2; res 1 used 1; full ext 0
fragm pages 1; free extents 0; not full extents 0: pages 0
...
SEGMENT id 0 171 space 0; page 2; res 592 used 481; full ext 7
fragm pages 16; free extents 0; not full extents 2: pages 17
SEGMENT id 0 172 space 0; page 2; res 1 used 1; full ext 0
fragm pages 1; free extents 0; not full extents 0: pages 0
SEGMENT id 0 173 space 0; page 2; res 96 used 44; full ext 0
fragm pages 32; free extents 0; not full extents 1: pages 12
...
SEGMENT id 0 601 space 0; page 2; res 1 used 1; full ext 0
fragm pages 1; free extents 0; not full extents 0: pages 0
NUMBER of file segments: 73
Validating tablespace
Validation ok
---------------------------------------
END OF INNODB TABLESPACE MONITOR OUTPUT
=======================================
テーブルスペースモニターの出力には、共有テーブルスペースに関する全体的な情報のあとに、テーブルスペース内のセグメントごとの内訳を含むリストが含まれます。
デフォルトのページサイズを使用したこの例では、テーブルスペースが、それぞれ 16K バイトであるデータベースページで構成されています。これらのページは、サイズが 1M バイト (64 個の連続したページ) のエクステントにグループ化されています。
全体的なテーブルスペース情報を表示する出力の最初の部分の形式は次のとおりです。
FILE SPACE INFO: id 0
size 13440, free limit 3136, free extents 28
not full frag extents 2: used pages 78, full frag extents 3
first seg id not used 0 23845
全体的なテーブルスペース情報には、次の値が含まれます。
id
: テーブルスペース ID。0 の値は、共有テーブルスペースを示します。size
: 現在のテーブルスペースサイズ (ページ数)。free limit
: 空きリストが初期化されていない最小のページ番号。この制限の位置にあるページ、またはそれより上のページは空いています。free extents
: 空きエクステントの数。not full frag extents
、used pages
: 完全にはいっぱいになっていないフラグメントエクステントの数、およびこれらのエクステント内の割り当てられたページの数。full frag extents
: 完全にいっぱいになっているフラグメントエクステントの数。first seg id not used
: 使用されていない最初のセグメント ID。
個々のセグメント情報の形式は次のとおりです。
SEGMENT id 0 15 space 0; page 2; res 160 used 160; full ext 2
fragm pages 32; free extents 0; not full extents 0: pages 0
セグメント情報には、次の値が含まれます。
id
: セグメント ID。
space
、page
: テーブルスペース番号、およびこのセグメントの「i ノード」が格納されているテーブルスペース内のページ。0 のテーブルスペース番号は、共有テーブルスペースを示します。InnoDB
は、i ノードを使用してテーブルスペース内のセグメントを追跡します。セグメントに関して表示されるその他のフィールド (id
や res
など) は、i ノード内の情報から取得されます。
res
: このセグメントに割り当てられている (予約されている) ページの数。
used
: このセグメントで使用されている割り当てられたページの数。
full ext
: このセグメントに割り当てられたエクステントのうち、完全に使用されているものの数。
fragm pages
: このセグメントに割り当てられた最初のページの数。
free extents
: このセグメントに割り当てられたエクステントのうち、完全に未使用であるものの数。
not full extents
: このセグメントに割り当てられたエクステントのうち、部分的に使用されているものの数。
pages
: いっぱいになっていないエクステント内で使用されているページの数。
セグメントが拡張される場合、そのセグメントは 1 ページとして開始されますが、InnoDB
は最初の数ページ (最大 32 ページ、これは fragm pages
値です) を一度に割り当てます。そのあと、InnoDB
は完全なエクステントを割り当てます。InnoDB
は、データの良好な連続性を保証するために、大きなセグメントには 1 回につき最大 4 つのエクステントを追加できます。
前に示されたセグメントの例では、32 個のフラグメントページに加え、いっぱいになったエクステントが 2 つあり (それぞれ 64 ページ)、割り当てられた 160 ページのうち合計 160 ページが使用されています。次のセグメントには、32 個のフラグメントページと、14 ページを使用している部分的にいっぱいになったエクステントが 1 つあり、割り当てられた 96 ページのうち合計 46 ページが使用されています。
SEGMENT id 0 1 space 0; page 2; res 96 used 46; full ext 0
fragm pages 32; free extents 0; not full extents 1: pages 14
エクステントの割り当てのあとに個々のページのいくつかが解放された場合は、エクステントが割り当てられているセグメントの fragm pages
値が 32 より小さい可能性があります。