MySQL 8.0 リファレンスマニュアル


16.2.3.3 圧縮テーブルの特徴

圧縮ストレージフォーマットは、myisampack ツールで生成される読み取り専用のフォーマットです。 圧縮テーブルは myisamchk を使って解凍できます。

圧縮テーブルには次のような特徴があります。

  • 圧縮テーブルに必要なディスク容量はごくわずかです。 これによりディスクの使用量は最少になるため、低速のディスクを使用する場合に役立ちます (CD-ROM など)。

  • それぞれの行は個々に圧縮されるため、アクセスのオーバーヘッドはごくわずかです。 行のヘッダーに必要なバイト数は、テーブル中の一番大きい行によって異なりますが、1 - 3 バイトです。 各カラムは別々に圧縮されます。 カラムごとに異なる Huffman ツリーがあるのが一般的です。 圧縮タイプのいくつかは次のとおりです。

    • サフィクススペース圧縮。

    • プリフィクススペース圧縮。

    • 値が 0 の数値は 1 ビットで格納されます。

    • 値の範囲が小さい整数カラムは、可能なかぎり小さな型を使って格納されます。 たとえば、BIGINT カラム (8 バイト) のすべての値が -128 から 127 の範囲内にある場合は、このカラムを TINYINT カラム (1 バイト) として格納できます。

    • カラムの可能値が少ない場合は、データの型を ENUMに変換します。

    • カラムに、上記の圧縮型を組み合わせて使用してもかまいません。

  • 固定長または動的長の行を使用できます。

注記

圧縮テーブルは読み取り専用なので、テーブルの行を更新したり、行を追加したりはできませんが、DDL (データ定義言語) 操作は有効です。 たとえば、DROP を使用してテーブルを削除しても、TRUNCATE TABLE を使用してテーブルを空にしてもかまいません。


関連キーワード:  テーブル, ストレージ, 圧縮, エンジン, 特徴, カラム, リファレンス, FEDERATED, マニュアル, フォーマット