mysql索引结构
Mysql索引是在存储引擎层实现的,不同的存储引擎有不同的结构,主要包括以下几种:
B+Tree索引:最常见的索引结构,大部分存储引擎都支持B+Tree索引。
Hash索引:底层数据结构是用Hash表也就是哈希表实现的,只有精确匹配索引列的查询才有效,不支持范围查询。
R-Tree索引:也称空间索引,它是MyISAM引擎的一个特殊索引类型,主要用于地理空间数据类型,通常使用较少。
Full-text:全文索引,是一种通过建立倒排索引,快速匹配文档的方式,类似于Lucene,Solr,ES。
InnoDB引擎支持B+Tree索引、Full-text索引(5.6版本后才支持),不支持Hash索引、R-Tree索引。
MyISAM引擎支持B+Tree索引、R-Tree索引以及Full-Tree索引,不支持Hash索引。
Memory引擎支持B+Tree索引、Hash索引,不支持R-tree索引、Full-tree索引。
平常所说的索引,如果没有特别的指明,都是B+树结构的索引。