内部联接期间非聚集索引的查询性能

问题描述 投票:0回答:1

我们在内部联接查询中有两个表。当两个表中都有数百万条记录时,建议使用以下哪个选项来提高性能。

注意:外键列上有一个非聚集索引。没有足够的数据来验证开发环境中的性能。也可能会有更多表通过INNER或LEFT联接进入此联接。

表格:

Subscriber(SID(PK), Name)
Account(AID(PK),SID(FK), AName)

查询:

SELECT *
FROM Account A
INNER JOIN Subscriber S ON S.SubscriberID=  A.SubscriberID
WHERE 
S.SubscriberID = @subID -- option 1
A.SubscriberID = @subID -- option 2
sql sql-server database query-optimization
1个回答
0
投票

您将谓词放在哪一列上应该没有什么区别。

SQL Server可以看到S.SubscriberID= A.SubscriberID条件并为另一列创建一个“隐式谓词”。

这确实成为交叉连接,然后为discussed here

© www.soinside.com 2019 - 2024. All rights reserved.