哪一个有更好的表现?
SELECT *,(SELECT MAX(old) FROM employee WHERE employee.CompanyId = Company.Id)
FROM Company
或
SELECT *,MAX(old) FROM Company LEFT OUTER JOIN employee
ON Company.Id = employee.CompanyId
how about bigger queries ?
谢谢
答案 0 :(得分:3)
在SQL Server Management Studio中运行两个查询并查看execution plan。
执行计划不仅会告诉您查询的哪个部分占用了多少资源,而且还会告诉您哪两个查询占用的资源多于另一个(如果同时运行两者,执行计划会以百分比显示值)
答案 1 :(得分:2)
如果您知道如何read execution plans那么请看一下。一个猜测是,SQL Server无论如何都会优化同一个执行计划的查询。
答案 2 :(得分:1)
子查询的性能通常低于JOIN查询。