已壓縮存儲格式是由myisampack工具創建的只讀格式。
所有MySQL分發版裡都默認包括myisampack。已壓縮表可以用myisamchk來解壓縮。
已壓縮表有下列特征:
· 已壓縮表占據非常小的磁盤空間。這最小化了磁盤用量,當使用緩慢的磁盤(如CD-ROM)之時,這是很有用的。
· 每個記錄是被單獨壓縮的,所以只有非常小的訪問開支。依據表中最大的記錄,一個記錄的頭在每個表中占據1到3個字節。每個列被不同地壓縮。通常每個列有一個不同的Huffman樹。一些壓縮類型如下:
o 後綴空間壓縮。
- 前綴空間壓縮。
- 零值的數用一個位來存儲。
- 如果在一個整型列中的值有一個小的范圍,列被用最小可能的類型來存儲。比如,一個BIGINT列(8字節),如果所有它的值在-128到127范圍內,它可以被存儲為TINYINT列(1字節)
- 如果一個列僅有一小組可能的值,列的類型被轉化成ENUM。
- 一個列可以使用先前壓縮類型的任意合並。
· 可以處理固定長度或動態長度記錄。