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