Spec-Zone.ru › MySQL 5.7

14.6.2.2 Физическая структура индекса InnoDB

За исключением пространственных индексов, индексы являются структурами данных. Пространственные индексы используют , которые представляют собой специализированные структуры данных для индексирования многомерных данных. Записи индекса хранятся в листовых страницах их структуры данных B-дерева или R-дерева. По умолчанию размер страницы индекса составляет 16 КБ. Размер страницы определяется параметром innodb_page_size при инициализации экземпляра MySQL. См. Раздел 14.8.1, «Конфигурация запуска InnoDB».

При вставке новых записей в InnoDB, InnoDB пытается оставить 1/16 страницы свободной для будущих вставок и обновлений записей индекса. Если записи индекса вставляются в последовательном порядке (возрастающем или убывающем), получившиеся страницы индекса заполнены приблизительно на 15/16. Если записи вставляются в случайном порядке, страницы заполнены от 1/2 до 15/16.

InnoDB выполняет массовую загрузку при создании или перестроении индексов B-дерева. Этот метод создания индексов известен как построение упорядоченного индекса. Переменная innodb_fill_factor определяет процент заполнения каждой страницы B-дерева во время построения упорядоченного индекса, а оставшееся пространство резервируется для будущего роста индекса. Построение упорядоченных индексов не поддерживается для пространственных индексов. Более подробную информацию см. в Разделе 14.6.2.3, «Построение упорядоченных индексов». Значение innodb_fill_factor равное 100 оставляет 1/16 пространства в страницах кластеризованного индекса свободным для будущего роста индекса.

Если коэффициент заполнения страницы индекса InnoDB падает ниже порога MERGE_THRESHOLD, который по умолчанию составляет 50%, если не указано иное, InnoDB пытается сжать дерево индекса, чтобы освободить страницу. Настройка MERGE_THRESHOLD применяется как к индексам B-дерева, так и к индексам R-дерева. Более подробную информацию см. в Разделе 14.8.12, «Настройка порога слияния страниц индекса».

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-5.7-en/innodb-physical-structure.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API