Spec-Zone.ru › MariaDB

Типы индексов хранилища

Это относится к определению типа индекса index_type при создании индекса, т.е. BTREE, HASH или RTREE.

Для получения дополнительной информации о общих типах индексов, таких как первичные ключи, уникальные индексы и т.д., перейдите на страницу Начало работы с индексами.

Двигатель хранилища Разрешённые индексы
Aria BTREE, RTREE
MyISAM BTREE, RTREE
InnoDB BTREE
MEMORY/HEAP HASH, BTREE

BTREE обычно является типом индекса по умолчанию. Для таблиц MEMORY по умолчанию используется HASH. TokuDB использует особую структуру данных, называемую фрагментными деревьями, которая оптимизирована для данных, которые полностью не помещаются в память.

Понимание структур данных B-дерева и хеш-таблиц может помочь предсказать, как различные запросы будут выполняться на различных движках хранилища, которые используют эти структуры данных в своих индексах, особенно для движка хранилища MEMORY, который позволяет вам выбирать индексы B-дерева или хеш-таблиц. Характеристики индекса B-дерева

Индексы B-дерева

Индексы B-дерева используются для сравнений столбцов с помощью операторов >, >=, =, >=, < или BETWEEN, а также для сравнений LIKE, которые начинаются с константы.

Например, запрос SELECT * FROM Employees WHERE First_Name LIKE 'Maria%'; может использовать индекс B-дерева, а SELECT * FROM Employees WHERE First_Name LIKE '%aria'; — нет.

Индексы B-дерева также допускают левостороннюю префиксацию для поиска строк.

Если количество строк не меняется, индексы хеш-таблиц занимают фиксированный объем памяти, который меньше, чем объем памяти, занимаемый индексами BTREE.

Индексы хеш-таблиц

В отличие от этого, индексы хеш-таблиц могут использоваться только для сравнений на равенство, поэтому те, которые используют операторы = или <=>. Они не могут использоваться для упорядочивания и не предоставляют оптимизатору информацию о том, сколько строк существует между двумя значениями.

Индексы хеш-таблиц не допускают левосторонней префиксации — может использоваться только весь индекс.

Индексы R-дерева

См. ПРОСТРАНСТВЕННЫЕ для получения дополнительной информации.

Содержимое, воспроизведенное на этом сайте, является собственностью соответствующих владельцев, и это содержимое не проверяется заранее компанией MariaDB. Мнения, информация и мнения, выраженные в этом содержании, не обязательно отражают взгляды MariaDB или любой другой стороны.

© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/storage-engine-index-types/

Spec-Zone.ru

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