请问这两种写法,哪一个效率高 非常感谢
SELECT ( SELECT u.RName
FROM dbo.ResourceCategory u
WHERE r.Rcategory = u.ID
) a ,
*
FROM dbo.Resource r
SELECT u.RName a ,
*
FROM dbo.Resource r
LEFT JOIN dbo.ResourceCategory u ON r.Rcategory = u.ID
------解决思路----------------------
前一种,是典型的标量子查询,如果 ResourceCategory 表中的数据比较少,这个语句效率就高一些。 另外这个写法,也比较适合动态拼接SQL ,很方便。
后一种,在 ResourceCategory 数据量比较大的情况,更有效率。
个人意见,欢迎讨论。
------解决思路----------------------
要看具体情况,比较一下两种查询的逻辑读
------解决思路----------------------
我认为还是第二种好一些,你可以多搞点数据测试一下,看看两种执行机制