索引类型按照不同的方向进行划分:

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