圧縮ストレージ形式は、myisampack ツールによって作成される読み取り専用形式です。
Myisampack は、すべての MySQL ディストリビューションにデフォルトで含まれています。圧縮されたテーブルは、myisamchk を使用して解凍できます。
圧縮テーブルには次の特徴があります。
· 圧縮テーブルは、占有するディスク領域がほとんどありません。これによりディスクの使用量が最小限に抑えられるため、低速ディスク (CD-ROM など) を使用する場合に便利です。
· 各レコードは個別に圧縮されるため、アクセスのオーバーヘッドはほとんどありません。レコード ヘッダーは、テーブル内の最大のレコードに応じて、各テーブルで 1 ~ 3 バイトを占めます。各列は異なる方法で圧縮されます。通常、列ごとに異なるハフマン ツリーが存在します。いくつかの圧縮タイプは次のとおりです。
o 接尾辞スペース圧縮。
- プレフィックススペースの圧縮。
- ゼロ値の数値は 1 ビットに格納されます。
- 整数列の値の範囲が狭い場合、その列は可能な限り最小の型を使用して格納されます。たとえば、BIGINT 列 (8 バイト) は、そのすべての値が -128 から 127 の範囲内にある場合、TINYINT 列 (1 バイト) として格納できます。
- 列に取り得る値のセットが少数しかない場合、列の型は ENUM に変換されます。
- 列では、以前の圧縮タイプを任意に組み合わせて使用できます。
· 固定長または動的長のレコードを処理できます。