これは、オプションの myisampack
ツール(ISAM
テーブルでは
pack_isam
)で生成される読み取り専用テーブルです。
MySQL ディストリビューションは、MySQL が
GPL
版になる前のものも含めて、いずれも
myisampack
で圧縮されたテーブルを読み取ることができる。
圧縮テーブルはごくわずかなディスク領域しか使用しない。ディスク使用量が最小限に抑えられるため、遅いディスク(CD-ROM など)を使用する場合に適している。
各レコードは別々に圧縮される(アクセスオーバヘッドがきわめて少ない)。レコードのヘッダは、テーブルで最も大きなレコードに応じて固定される(1 〜 3 バイト)。各カラムは異なる方法で圧縮される。圧縮タイプには次のものがある。
通常は、カラムごとに異なるハフマンテーブルが存在する。
サフィックス空白の圧縮。
プリフィックス空白の圧縮。
値 0
の数値は 1
ビットで格納する。
値の範囲が小さい整数カラムは、可能な限り小さな型を使って格納する。たとえば、BIGINT
カラム(8 バイト)のすべての値が
0
〜 255
の範囲内にある場合は、このカラムを
TINYINT
カラム(1
バイト)として格納する。
カラムの可能値が少ない場合は、カラムの型を
ENUM
に変換する。
上記の圧縮を組み合わせて使用することもできる。
固定長または可変長のレコードを処理できる。
myisamchk
で圧縮を解除できる。
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.