7.1.2.3 Характеристики сжатых таблиц
Таблицы этого тип предназначены только для чтения. Они генерируются при
помощи дополнительного инструмента myisampack
(pack_isam
для таблиц ISAM
):
-
Все дистрибутивы MySQL, даже выпущенные до предоставления
общедоступной лицензии MySQL, могут читать таблицы, которые были сжаты
при помощи
myisampack
.
-
Сжатые таблицы занимают очень мало дискового пространства; таким
образом при применении данного типа значительно снижается
использование дискового пространства. Это полезно при работе с
медленными дисками (такими как компакт-диски).
-
Каждая запись сжимается отдельно (незначительные издержки при
доступе). Заголовки у записей фиксированные (1-3 байта), в зависимости
от самой большой записи в таблице. Все столбцы сжимаются по-разному.
Ниже приведено описание некоторых типов сжатия:
-
Обычно для каждого столбца используются разные таблицы Хаффмана.
-
Сжимаются пробелы суффикса.
-
Сжимаются пробелы префикса.
-
Для хранения чисел со значением 0 отводится 1 бит.
-
Если у значений в целочисленном столбце небольшой диапазон,
столбец сохраняется с использованием минимального по размерам
возможного типа. Например, столбец
BIGINT
(8 байт) может быть
сохранен как столбец TINYINT
(1 байт) если все значения находятся
в диапазоне от 0
до 255
.
-
Если в столбце содержится небольшое множество возможных значений,
тип столбца преобразовывается в
ENUM
.
-
Столбец может содержать сочетание указанных выше сжатий.
-
Для таблиц этого типа возможна обработка записей с фиксированной или
динамической длиной.
-
Таблицы данного типа могут быть распакованы при помощи команды myisamchk.
Add your own comment.