索引结构
1.概述
MySQL的索引是在存储引擎层实现的,不同的存储引擎有不同的索引结构,主要包含以下几种:
索引结构 描述
B+Tree索引 最常见的索引类型,大部分引擎都支持 B+ 树索引
Hash索引
底层数据结构是用哈希表实现的, 只有精确匹配索引列的查询才有效, 不
支持范围查询
R-tree(空间索
引)
空间索引是MyISAM引擎的一个特殊索引类型,主要用于地理空间数据类
型,通常使用较少
Full-text(全文
索引)
是一种通过建立倒排索引,快速匹配文档的方式。类似于
Lucene,Solr,ES
索引 InnoDB MyISAM Memory
B+tree索引 支持 支持 支持
Hash 索引 不支持 不支持 支持
R-tree 索引 不支持 支持 不支持
Full-text 5.6版本之后支持 支持 不支持
上述是MySQL中所支持的所有的索引结构,接下来,我们再来看看不同的存储引擎对于索引结构的支持
情况。
注意: 我们平常所说的索引,如果没有特别指明,都是指B+树结构组织的索引。