|
Spec-Zone .ru
спецификации, руководства, описания, API
|
Этот раздел обсуждает 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 Сжатые Таблицы".