2013-07-15 137 views
0

我有一个查询,看起来像这样:SQL Server Compact Edition 4:如何提高左外连接性能?

SELECT COUNT(*) AS Expr1 
FROM Recipients AS R 
LEFT OUTER JOIN CampaignHistory AS H ON R.RecipientID = H.RecipientID 
WHERE (H.RecipientID IS NULL) 

似乎相当标准,但我有50万个收件人....

的查询需要大约8分钟来执行,我正在寻找一个方式来改善这一点,任何建议表示欢迎。

编辑解决方案是:

请确保您添加索引:

CREATE INDEX IX_RecipientID ON CampaignHistory(RecipientID) 

当VS抛出一个错误,只需点击继续....

回答

1

确保你有一个索引你的加入标准(recipientid)并使用explain查看执行计划以获取有关如何执行查询的更多信息。

+0

我该如何添加索引? –

+0

Nevermind何时 - 不支持CREATE INDEX SQL结构或语句。我只是单击继续... –

+0

您的建议将查询从8分钟降低到了大约3秒......真棒...... –

相关问题