Сжатый формат хранения — это формат только для чтения, созданный инструментом myisampack.
Myisampack включен по умолчанию во все дистрибутивы MySQL. Сжатые таблицы можно распаковать с помощью myisamchk.
Сжатые таблицы имеют следующие характеристики:
· Сжатые таблицы занимают очень мало места на диске. Это сводит к минимуму использование диска, что полезно при использовании медленных дисков (например, компакт-дисков).
· Каждая запись сжимается индивидуально, поэтому накладные расходы на доступ очень малы. Заголовок записи занимает от 1 до 3 байтов в каждой таблице, в зависимости от самой большой записи в таблице. Каждый столбец сжимается по-разному. Обычно для каждого столбца существует свое дерево Хаффмана. Некоторые типы сжатия следующие:
o Сжатие суффиксного пространства.
- Сжатие префиксного пространства.
- Нулевые числа хранятся в одном бите.
— Если значения в целочисленном столбце имеют небольшой диапазон, столбец сохраняется с использованием наименьшего возможного типа. Например, столбец BIGINT (8 байт) можно сохранить как столбец TINYINT (1 байт), если все его значения находятся в диапазоне от -128 до 127.
— Если столбец имеет лишь небольшой набор возможных значений, тип столбца преобразуется в ENUM.
— Столбец может использовать любую комбинацию предыдущих типов сжатия.
· Может обрабатывать записи фиксированной или динамической длины.