MySQLのCREATE TABLE文のPACK_KEYSオプションについて資料を読んで概要をまとめました。
●CREATE TABLEのPACK_KEYSオプションの概要
・MyISAMストレージエンジンでは、インデックスサイズを小さくするためにプレフィックス圧縮を使用していて、より多くのインデックスがメモリ内におさまるようにし、使用状況によっては大幅に性能を向上できる。
・PACK_KEYSオプションを指定せずにテーブルを作成した場合のデフォルトでは、文字列のみが対象で数値の圧縮は行われない。
PACK_KEYSオプションで1を指定すると数値も圧縮できる。
・サイズが小さくなり読み込みは早くなる事が期待できるが更新は遅くなる。
・I/Oバウンドの環境では効果が期待できる。
・PACK_KEYSオプションで0を指定すると圧縮を無効に出来る。
・すべてのキーは、前のキーが次のキーと何バイト分同一かを示す1バイトのスペースを必要とする。