假设我有一个包含 A、B、C、D 和 E 列的表 Foo。它们都是整数。让我们假设有一百万条记录,并且我们在 SQL Server 2017 上。
存在以下索引:
create Nonclustered index IX_Foo on Foo ([A], [B]) include ([C], [D], [E])
如果我运行以下查询:
Select A, B, C, D, E from Foo where A = 1 and B = 2
此查询是否会触发 Foo 中的键查找,因为 A 和 B 未包含在索引的包含列表中,或者 SQL Server 会意识到 A 和 B 位于键本身中并避免键查找?