Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
There are many types of indexes, each designed to perform well for different purposes. Indexes are implemented in the storage engine layer, not the server layer. Thus, they are not standardized: indexing works slightly differently in each engine, and not all engines support all types of indexes. Even when multiple engines support the same index type, they might implement it differently under the hood.
That said, let’s look at the index types MySQL currently supports, their benefits, and their drawbacks.
When people talk about an index without mentioning a
type, they’re probably referring to a B-Tree
index, which typically uses a B-Tree data structure to
store its data.[52] Most of MySQL’s storage engines support this index type.
The Archive engine is the exception: it didn’t support indexes at all
until MySQL 5.1, when it started to allow a single indexed AUTO_INCREMENT column.