Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
唯一扫描、范围扫描和跳过扫描是什么意思?我们可以明确决定使用哪种扫描吗?所有这些扫描的优缺点是什么?
它们的名称非常不言自明:
“唯一”扫描扫描唯一索引中的单个值。
“范围”扫描从某个起始值开始,并顺序读取索引条目(即沿 b 树),直到遇到一个超过第二个值的值(在非唯一索引是范围扫描,顺便说一句)。
“跳过”扫描仅使用复合索引的前导列来计算其不同的值(因此,一旦找到一个值,它就会沿着该索引“跳过”,直到找到下一个)。
对于给定类型的记录匹配,每个都是适当的(和最佳的)。SQL 优化器几乎总是选择最适合给定情况的(如果统计信息是最新的)。