MySQL 8.0 リファレンスマニュアル MySQL NDB Cluster 8.0 を含む

このページは機械翻訳したものです。

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

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

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

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

注記

固定長の行形式は、BLOB または TEXT カラムを持たないテーブルでのみ使用できます。 明示的な ROW_FORMAT 句を使用してこのようなカラムを含むテーブルを作成しても、エラーや警告は発生せず、書式指定は無視されます。

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