此页内容

005、MYSQL 的索引类型

333字约1分钟

2025-02-15

以数据结构来区分:

  • B+ 树索引:以树形结构存储数据,适用于范围查询和精确查询,支持有序数据的快速查找、排序和聚合操作,常用于 MyISAM 和 InnoDB
  • 哈希索引:基于哈希表的结构,适用于等值查询,查询速度较快,但不适用于范围查询,常见于 Memory;
  • 倒排索引(Full-Text):主要用于全文搜索,适用于大文本字段;
  • R- 树索引(多维空间树):专为多维空间数据设计。

B+ 树索引又分为以下两种索引:

  • **聚簇索引:**InnoDB 的主键索引就是聚簇索引,基于主键进行排序存储,叶子节点存放数据;
  • **非聚簇索引:**InnoDB 的非主键索引就是非聚簇索引,叶子节点仅保存索引的字段和主键。

基于索引性质进行区分:

  • 普通索引:非主键索引且非唯一索引;
  • 主键索引:表中每一行数据中都有唯一的主键;
  • 唯一索引:保证索引列中每一行的数据都是唯一的;
  • 联合索引:多个列组成的索引;
  • 全文索引:适用于全文搜索;
  • 空间索引:用于空间数据查询。