为什么SQL Server CE 3.5上的LEFT OUTER JOIN性能不好?

时间:2010-08-16 06:28:50

标签: sql performance sql-server-ce

您尝试了一个包含SQL Server CE上的左外部联接的选择查询,执行时间为30秒 然后我将相同的查询更改为内部联接,并且花费不到1秒 SQL Server 2008上相同的外部查询速度非常快 有谁知道为什么会这样? 这个性能问题的解决方法是什么? 我正在考虑我联合的两个查询,但我不喜欢这个解决方案重复的原因 感谢

编辑:
另一个性能不佳的查询是select * from table where item not in (select item from table2)
真的很奇怪但是这个查询需要改为左外连接,所以性能是固定的

1 个答案:

答案 0 :(得分:4)

我发现了问题 看来SQL Server CE在优化外连接时存在问题 所以问题发生在一个表中有一个索引而另一个表中没有索引的情况 见http://msdn.microsoft.com/en-us/library/ms172984(SQL.100).aspx “限制使用外部连接”部分
修复是在外键上添加索引并且性能已得到修复