索引类型按照不同的方向进行划分:
划分方向 | 类型 |
数据结构 | B+树索引、哈希索引、倒排索引、R-树索引(多维空间树)、位图索引(Bitmap) |
物理存储 | 聚簇索引、非聚簇索引 |
字段特性 | 主键索引、唯一索引、普通索引、前缀索引 |
字段个数 | 单列索引、联合索引 |
- B+树索引:通过树形结构存储数据,适用于范围查询和精确查询,支持有效数据的快速查找、排序和聚合操作,MySql 的默认索引类型,常用于 InnoDB 和 MyISAM。
- 哈希索引:基于哈希表的结构,适用于等值查询,但不支持范围查询,查询速度很快,同时不存储数据的顺序,常用于 Memory 引擎。
- 倒排索引:它将文档集合中的每个唯一单词(词条)映射到包含该单词的所有文档列表,倒排索引通过将单词作为索引的键,文档列表作为值,实现了从单词到文档的快速查找,而全文索引通常依赖倒排索引这种数据结构来实现。
- R-树索引:为了多维空间数据(地理坐标)设计,适用于空间查询(计算最近距离、区域查询等)。常用于存储和查询地理信息系统(GIS)中的空间数据。
- 聚簇索引:索引的叶子节点存储完整的数据记录
- 非聚簇索引:索引的叶子节点存储了主键值和对应的索引字段
- 普通索引:一般指非主键索引且非唯一索引
- 主键索引:唯一且不能为NULL,每个表只能有一个,InnoDB 中主键索引是聚簇索引结构实现的
- 联合索引:多个列组成的索引,适用于多列的查询条件,也可以通过联合索引实现覆盖索引和索引下推技术
- 唯一索引:唯一,允许为NULL,但一个列中可以有多个NULL,可以有效防止重复数据的插入
- 全文索引:准确来说是一种索引技术,通常依赖倒排索引这种数据结构实现,针对文本数据的一种索引机制,能让用户对文本内容进行全面检索
- 空间索引:具体来说是一个宽泛的概念,旨在为空间数据提供一种有效的组织和检索方式,R-树就是空间索引的具体实现方式
- 位图所有:一种在数据库管理中使用的特殊索引结构,特别适用于处理低基数(列中不同值的数量相对较少)的数据列(例如男女性别)
版权属于:带翅膀的猫
本文链接:https://www.chengpengper.cn/archives/237/
转载时须注明出处及本声明