gpt4 book ai didi

sql - sql server中的子查询与内部联接

转载 作者:行者123 更新时间:2023-12-03 07:49:25 25 4
gpt4 key购买 nike

我有以下疑问

第一个使用内连接

SELECT item_ID,item_Code,item_Name 
FROM [Pharmacy].[tblitemHdr] I
INNER JOIN EMR.tblFavourites F ON I.item_ID=F.itemID
WHERE F.doctorID = @doctorId AND F.favType = 'I'

第二个使用子查询,如
SELECT item_ID,item_Code,item_Name from [Pharmacy].[tblitemHdr]
WHERE item_ID IN
(SELECT itemID FROM EMR.tblFavourites
WHERE doctorID = @doctorId AND favType = 'I'
)

在这个项目表 [Pharmacy].[tblitemHdr]包含 15 列和 2000 条记录。和 [Pharmacy].[tblitemHdr]包含 5 列和大约 100 条记录。在这种情况下 which query gives me better performance?

最佳答案

通常连接会比内部查询更快,但实际上它取决于 SQL Server 生成的执行计划。无论您如何编写查询,SQL Server 始终会根据执行计划对其进行转换。如果它足够“智能”以从两个查询生成相同的计划,您将得到相同的结果。

Herehere一些帮助链接。

关于sql - sql server中的子查询与内部联接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14052596/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com