在SQL服务器效率,使用子查询或加入?
方面有什么好转我知道不相关的比相关的子查询更好。但是加入呢?
使用连接OUTER JOIN and check for NULLS
,SQL变得更易读和易懂
但是对于DB的性能来说是更糟还是更好?
答案 0 :(得分:3)
通过使用JOIN,您会发现SQL Server中的查询优化引擎可以制定更有效的查询执行计划。通常,最好总是使用JOIN,但如果存在性能问题,请尝试重新编写查询并记录性能差异。总有很奇怪的例外。
以我昨天正在处理的查询为例 - 通过向查询添加ORDER BY,它比没有ORDER BY的情况下运行更快。有没有搞错?怎么可能?它似乎违背了SQL的概念,因为每个操作都有时间成本。但是,使用和不使用ORDER BY的SQL Server 2000创建的查询执行计划完全不同。去搞清楚!它指出了检查执行计划和监控查询性能的重要性。
答案 1 :(得分:1)