我有一个导致性能问题的 T-SQL 查询。它很笨重,但似乎导致问题的部分是一个简单的 LEFT JOIN。
这可以通过删除左连接并在选择中使用子查询来解决,但这对我来说似乎并不令人满意,因为我看不出为什么一个工作得很快,另一个工作得不好。
涉及的数据不多,并且所有连接列上都有键/索引。我唯一想知道的另一件事是关于数据库的统计信息以及它们是否会影响性能。
例如(Nb 这只是一个更复杂的查询的简化
慢的
SELECT A.1,A.2,B.3 FROM A LEFT JOIN B ON A.ID = B.ID ...
快速地
SELECT A.1, A.2, (SELECT B.3 FROM B WHERE B.ID = A.ID) FROM A