Skip to content

聚簇索引与非聚簇索引与回表查询

一、核心概念定义

1. 聚簇索引(Clustered Index)

  • 定义:将数据存储与索引结构放在一起,B+树的叶子节点直接保存完整的行数据。
  • 特点:每个表必须有且只有一个聚簇索引,数据行的物理存储顺序与索引顺序完全一致。

2. 非聚簇索引(二级索引/辅助索引)

  • 定义:数据与索引分开存储,B+树的叶子节点仅保存对应的主键值,而非完整数据。
  • 特点:一个表可以存在多个非聚簇索引,索引结构与数据存储相互独立。

3. 回表查询

  • 定义:通过二级索引找到对应的主键值后,再根据主键值到聚簇索引中查找完整行数据的过程。
  • 场景:当查询的字段无法完全通过二级索引获取时,就会触发回表查询,例如:
    sql
    SELECT * FROM user WHERE name = 'Arm';

Powered by VitePress 1.6.4 | 持续更新中