您尝试了一个包含SQL Server CE上的左外部联接的选择查询,执行时间为30秒 然后我将相同的查询更改为内部联接,并且花费不到1秒 SQL Server 2008上相同的外部查询速度非常快 有谁知道为什么会这样? 这个性能问题的解决方法是什么? 我正在考虑我联合的两个查询,但我不喜欢这个解决方案重复的原因 感谢
编辑:
另一个性能不佳的查询是select * from table where item not in (select item from table2)
真的很奇怪但是这个查询需要改为左外连接,所以性能是固定的
答案 0 :(得分:4)
我发现了问题
看来SQL Server CE在优化外连接时存在问题
所以问题发生在一个表中有一个索引而另一个表中没有索引的情况
见http://msdn.microsoft.com/en-us/library/ms172984(SQL.100).aspx
“限制使用外部连接”部分
修复是在外键上添加索引并且性能已得到修复