7.5.11.3 Адаптивный хешированный индекс
Если база данных почти полностью помещается в основной памяти, то самым
быстрым способом выполнения запросов по этой базе данных является
использование хешированных индексов. В InnoDB существует автоматический
механизм, который отслеживает поиск по индексу, осуществляемый по
индексам, определенным для таблицы, и если InnoDB посчитает, что запросы
выиграют от создания хешированного индекса, такой индекс будет создан
автоматически.
Но следует учитывать, что хешированный индекс всегда создается на основе
существующего индекса B-дерева таблицы. InnoDB может создать хешированный
индекс на префиксах любой длины ключа, определенного для B-дерева, в
зависимости от того, по какой схеме поиска InnoDB производит обзор индекса
the B-дерева. Хешированный индекс может быть частичным: не обязательно
кэшировать в буферном пуле весь индекс B-дерева. InnoDB будет создавать
хешированные индексы по запросу для тех страниц индекса, к которым часто
производится доступ.
Хотя механизм адаптивного хешированного индекса InnoDB приспосабливается к
большому количеству основной памяти, он больше подходит для архитектуры
баз данных основной памяти.