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


15.2.3.1 静的 (固定長) テーブルの特長

MyISAM テーブルでは、静的フォーマットがデフォルトです。テーブルに可変長のカラムが含まれない場合に使用されます (VARCHARVARBINARYBLOB、または TEXT)。各行は固定バイト数で格納されます。

3 つの MyISAM ストレージフォーマットの中で、静的フォーマットが一番シンプルで安全です (一番破損しにくい)。またこれは、ディスク上でデータファイルの中の行が容易に検出できるという理由で、オンディスクフォーマットの中でもっとも高速です。インデックスの中の行数に基づいて行を検索するには、行数に行長を掛けて行の位置を計算します。また、テーブルをスキャンするときに、ディスクの読み込み操作ごとに一定の行数を読み込むことが容易です。

MySQL サーバーが固定フォーマットの MyISAM ファイルに書き込んでいる最中にコンピュータがクラッシュした場合、その安全性が証明されます。この場合、myisamchk はそれぞれの行がどこで始まりどこで終わるかを簡単に判断できるため、通常、一部が書き込まれた行を除くすべての行を再利用できます。MyISAM テーブルインデックスは、データ行に基づいていつでも再構築できます。

注記

固定長の行フォーマットは、BLOB または TEXT カラムがないテーブルでのみ使用できます。明示的な ROW_FORMAT 句を持つカラムでテーブルを作成すると、エラーや警告は発生しません。フォーマットの仕様は無視されます。

静的フォーマットのテーブルには、次の特徴があります。

  • CHAR および VARCHAR カラムには、特定のカラム幅にスペースが埋め込まれます (しかし、カラムの型は変わりません)。BINARY および VARBINARY カラムには、カラム幅に 0x00 バイトが埋め込まれます。

  • 非常に高速です。

  • キャッシュが容易です。

  • 行が固定位置にあるため、クラッシュしたあとも再構築が容易です。

  • 大量の行を削除して、空きディスク容量をオペレーティングシステムに戻す場合を除いて、再編成の必要はありません。これを行うには、OPTIMIZE TABLE または myisamchk -r を使用します。

  • 通常は、動的フォーマットテーブルよりも多くのディスク容量を必要とします。


User Comments
User comments in this section are, as the name implies, provided by MySQL users. The MySQL documentation team is not responsible for, nor do they endorse, any of the information provided here.
Sign Up Login You must be logged in to post a comment.