Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 27.1Mb
PDF (A4) - 27.2Mb
HTML Download (TGZ) - 7.2Mb
HTML Download (Zip) - 7.2Mb


14.9.3 DYNAMIC および COMPRESSED 行フォーマット

このセクションでは、InnoDB テーブルの DYNAMIC および COMPRESSED 行フォーマットについて説明します。これらの種類のテーブルは、innodb_file_format 構成オプションが Barracuda に設定されている場合にのみ作成できます。(Barracuda ファイル形式では、COMPACT および REDUNDANT 行フォーマットも許可されます。)

テーブルが ROW_FORMAT=DYNAMIC または ROW_FORMAT=COMPRESSED で作成された場合、長いカラム値は完全にオフページに格納され、クラスタ化されたインデックスレコードにはオーバーフローページへの 20 バイトのポインタのみが含まれます。

カラムがオフページに格納されるかどうかは、ページサイズおよび行の合計サイズによって異なります。その行が長すぎる場合は、クラスタ化されたインデックスレコードが B ツリーページに収まるまで、InnoDB はオフページストレージのもっとも長いカラムを選択します。40 バイト以下の TEXT および BLOB カラムは、常にインラインに格納されます。

DYNAMIC 行フォーマットは、(COMPACT および REDUNDANT フォーマットと同様に) 収まる場合は行全体をインデックスノード内に格納する効率性を維持しますが、この新しいフォーマットでは、長いカラムの多数のデータバイトで B ツリーノードがいっぱいになる問題が回避されます。DYNAMIC フォーマットは、長いデータ値の一部がオフページに格納される場合は通常、すべての値をオフページに格納するのがもっとも効率的であるという考え方に基づいています。DYNAMIC フォーマットでは、短いカラムは B ツリーノード内に残る可能性があるため、特定の行に必要なオーバーフローページの数が最小限に抑えられます。

COMPRESSED 行フォーマットは、オフページストレージに関して DYNAMIC 行フォーマットと同様の内部の詳細を使用するほか、追加のストレージ、圧縮されるテーブルおよびインデックスデータからのパフォーマンスの考慮事項、および小さいページサイズを使用します。COMPRESSED 行フォーマットでは、オプション KEY_BLOCK_SIZE によって、クラスタ化されたインデックスに格納されるカラムデータの量、およびオーバーフローページに配置される量が制御されます。COMPRESSED 行フォーマットの詳細は、セクション14.7「InnoDB 圧縮テーブル」を参照してください。


User Comments
Sign Up Login You must be logged in to post a comment.