Compressed Table Characteristics
................................
This is a read-only type that is generated with the optional
`myisampack' tool (`pack_isam' for `ISAM' tables):
* All MySQL distributions, even those that existed before MySQL went
GPL, can read tables that were compressed with `myisampack'.
* Compressed tables take very little disk space. This minimizes disk
usage, which is very nice when using slow disks (like CD-ROMs).
* Each record is compressed separately (very little access
overhead). The header for a record is fixed (1-3 bytes) depending
on the biggest record in the table. Each column is compressed
differently. Some of the compression types are:
- There is usually a different Huffman table for each column.
- Suffix space compression.
- Prefix space compression.
- Numbers with value `0' are stored using 1 bit.
- If values in an integer column have a small range, the column
is stored using the smallest possible type. For example, a
`BIGINT' column (8 bytes) may be stored as a `TINYINT' column
(1 byte) if all values are in the range `0' to `255'.
- If a column has only a small set of possible values, the
column type is converted to `ENUM'.
- A column may use a combination of the above compressions.
* Can handle fixed- or dynamic-length records, but not `BLOB' or
`TEXT' columns.
* Can be uncompressed with `myisamchk'.