温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

索引扫描有哪几种类型

发布时间:2026-09-30 00:04:57 来源:亿速云 阅读:93 作者:小樊 栏目:数据库

在数据库系统中,索引扫描(Index Scan) 的类型通常根据是否直接通过索引拿到数据、扫描范围、扫描方式等不同维度来划分。常见类型如下:


1. 按是否回表划分

1)索引覆盖扫描(Index Covering Scan / Index Only Scan)

  • 查询所需字段都包含在索引中
  • 不需要回表(不访问主表/堆数据)
  • 性能最好

2)索引回表扫描(Index Scan + Table Access)

  • 通过索引找到行位置
  • 再回主表读取完整数据

2. 按扫描方式划分

1)全索引扫描(Index Full Scan)

  • 顺序遍历整个索引
  • 常用于索引有序、无过滤条件但需排序

2)索引范围扫描(Index Range Scan)

  • 根据条件扫描索引的某个区间
  • 最常见,如 WHERE id BETWEEN 10 AND 100

3)索引唯一扫描(Index Unique Scan)

  • 基于唯一索引
  • 最多返回一行
  • 如主键查找

4)索引快速全扫描(Index Fast Full Scan)

  • 按物理块扫描索引(不一定有序)
  • 用于覆盖查询、多块读

3. 按访问路径划分(Oracle 常见)

  • INDEX UNIQUE SCAN
  • INDEX RANGE SCAN
  • INDEX FULL SCAN
  • INDEX FAST FULL SCAN
  • INDEX SKIP SCAN(跳过前导列)

4. 特殊类型

1)索引跳跃扫描(Index Skip Scan)

  • 复合索引未用前导列
  • 数据库“假装”拆分索引扫描

2)位图索引扫描(Bitmap Index Scan)

  • 多用于数据仓库
  • 配合位图运算效率高

3)松散索引扫描(Loose Index Scan)

  • 用于 GROUP BY 最小/最大值
  • MySQL 中较典型

简单总结

常见索引扫描类型:
唯一扫描、范围扫描、全扫描、快速全扫描、覆盖扫描、跳跃扫描、位图扫描

如果你指的是 某个具体数据库(MySQL / Oracle / PostgreSQL),我可以给更针对性的说明。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手