Sql server sql server执行计划-嵌套循环联接

Sql server sql server执行计划-嵌套循环联接,sql-server,sql-execution-plan,Sql Server,Sql Execution Plan,我在SQL Server上有一个非常简单的选择: select * from person where first_name = 'John' and last_name = 'Smith'` 在执行计划中,我有: 非聚集索引搜索-NC_First_Last_pers PK上的密钥查找(群集) 这两个进入一个嵌套的循环连接 我的问题是: 为什么会有加入?我以为这只用于连接不同的表,但我这里只有一个表 谢谢 索引中包含索引中包含的列的数据以及聚集键。您正在使用*查询表,这意味着您必须查找所有

我在SQL Server上有一个非常简单的选择:

select * from person
where first_name = 'John' and last_name = 'Smith'`
在执行计划中,我有:

  • 非聚集索引搜索-NC_First_Last_pers
  • PK上的密钥查找(群集)
这两个进入一个嵌套的循环连接

我的问题是:

为什么会有加入?我以为这只用于连接不同的表,但我这里只有一个表


谢谢

索引中包含索引中包含的列的数据以及聚集键。您正在使用
*
查询表,这意味着您必须查找所有列值,这些值与聚集键一起存储

查询使用名称上的索引查找所有匹配的行,然后使用聚集键查找所需的数据