11

唯一扫描、范围扫描和跳过扫描是什么意思?我们可以明确决定使用哪种扫描吗?所有这些扫描的优缺点是什么?

4

1 回答 1

15

它们的名称非常不言自明:

  • “唯一”扫描扫描唯一索引中的单个值。

  • “范围”扫描从某个起始值开始,并顺序读取索引条目(即沿 b 树),直到遇到一个超过第二个值的值(在非唯一索引是范围扫描,顺便说一句)。

  • “跳过”扫描仅使用复合索引的前导列来计算其不同的值(因此,一旦找到一个值,它就会沿着该索引“跳过”,直到找到下一个)。

对于给定类型的记录匹配,每个都是适当的(和最佳的)。SQL 优化器几乎总是选择最适合给定情况的(如果统计信息是最新的)。

于 2013-07-17T22:20:12.023 回答