这里是 SQL 新手,所以很抱歉,如果这是非常基本的东西。
SQL 服务器 2019、Windows
2 个表 - FixingHeader 和 Product
简单查询读取所有固定标头并查找相关产品
select [f].[Id], [f].[FixingHeaderReference], [p].[Description] from [dbo].[FixingHeader] as f
JOIN [Product] AS [p] ON [f].[ProductId] = [p].[Id]
Run Code Online (Sandbox Code Playgroud)
我的 FixingHeader 数据库中只有 7 条记录
看着执行计划,对一些结果感到惊讶。
1 - 为什么计划显示的读取记录多于表本身?
认为这与 3 次处决有关,但为什么是 3 次呢?
2 - 为什么 Product 表使用聚集索引扫描而不是 Seek?正在使用具有索引的主键 ID 读取产品
谢谢!