adaptive hash index
If a table fits almost entirely in main memory, the fastest way to perform queries on it is to use hash indexes. InnoDB has a mechanism that monitors index searches made to the indexes defined for a table. If InnoDB notices that queries could benefit from a hash index, it builds one automatically. This feature is controlled by the innodb-adaptive-hash-index
configuration option.
The hash index is always built based on an existing B-tree index on the table. InnoDB can build a hash index on a prefix of any length of the key defined for the B-tree, depending on the pattern of searches that InnoDB observes for the B-tree index. A hash index can be partial; the whole B-tree index does not need to be cached in the buffer pool. InnoDB builds hash indexes on demand for those pages of the index that are often accessed.
In a sense, the adaptive hash index configures InnoDB at runtime to take advantage of ample main memory, coming closer to the architecture of main-memory databases.
See also B-tree.
See also hash index.