我有一个非常简单的SQL Server选择:
select * from person
where first_name = 'John' and last_name = 'Smith'`
在执行计划中我有:
- 非聚集索引查找- NC_First_Last_pers
- 键查找(集群)在PK
这两个进入嵌套循环连接。
我的问题是:为什么有连接?我以为这只用于连接不同的表,但我这里只有一个表。
谢谢!
在索引中有索引中包含的列的数据以及集群键。您正在使用*
查询表,这意味着您必须查找所有列值,并且这些列值与集群键一起存储。
查询使用名称上的索引查找所有匹配的行,然后使用集群键查找所需的数据。