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
Сжатые Таблицы".