Spec-Zone .ru
спецификации, руководства, описания, API

5.4.8.3. DYNAMIC и COMPRESSED Форматы строки

Этот раздел обсуждает DYNAMIC и COMPRESSED строка форматирует для таблиц InnoDB. Можно только создать эти виды таблиц когда innodb_file_format параметр конфигурации устанавливается в Barracuda. (Формат файла Барракуды также позволяет COMPACT и REDUNDANT форматы строки.)

Когда таблица составляется с ROW_FORMAT=DYNAMIC или ROW_FORMAT=COMPRESSED, длинные значения столбцов сохранены полностью вне страницы, и запись кластерного индекса содержит только 20-байтовый указатель на страницу переполнения.

Сохранены ли какие-либо столбцы вне страницы, зависит от размера страницы и полного размера строки. Когда строка является слишком длинной, InnoDB выбирает самые длинные столбцы для хранения вне страницы до судорог записи кластерного индекса на странице B-дерева.

DYNAMIC формат строки поддерживает эффективность хранения всей строки в индексировать узле, если это соответствует (также, как и COMPACT и REDUNDANT форматы), но этот новый формат избегает проблемы заполняющихся узлов B-дерева с большим количеством байтов данных длинных столбцов. DYNAMIC формат основан на идее, что, если часть долгого значения данных сохранена вне страницы, является обычно самым эффективным сохранить все значение, вне страницы. С DYNAMIC формат, более короткие столбцы, вероятно, останутся в узле B-дерева, минимизируя число страниц переполнения, необходимых для любой данной строки.

COMPRESSED формат строки использует подобные внутренние детали для хранения вне страницы как DYNAMIC формат строки, с дополнительным хранением и соображениями производительности от таблицы и индексирует сжимаемые данные и использующие меньшие размеры страницы. С COMPRESSED формат строки, опция KEY_BLOCK_SIZE средства управления, сколько данных столбца хранится в кластерном индексе, и сколько помещается на страницах переполнения. Для полного изложения о COMPRESSED формат строки, см. Раздел 5.4.6, "Работающий с InnoDB Сжатые Таблицы".