2

我有一个使用视图的存储过程。存储过程接受各种参数。

我试过了:

SELECT 
    COUNT(v.CampaignID) as RecordCount
FROM 
    VW_Results_ValueRank_2010_12_22_NEW V                        
INNER JOIN 
    ResultTopic ON V.ResultID = ResultTopic.ResultId    
INNER JOIN 
    CampaignTopic on ResultTopic.topicid = CampaignTopic.topicid         
WHERE 
    v.CampaignID = 37                        
    AND v.CreateDate BETWEEN 'May  3 2011  8:25PM' AND 'May  3 2012  8:25PM'                        
    AND v.SourceDate BETWEEN DATEADD(d,-3,'May  3 2011  8:25PM') AND 'May  3 2012  8:25PM' 
    AND (LEFT(Title, 80) LIKE '%google%' OR Domain LIKE '%google%' OR LEFT([Text], 300) LIKE '%google%')

它返回 2016 年的记录,但需要 40-50 秒,我可以将这个时间减少到 5-10 秒吗?请帮忙。

4

1 回答 1

2

您可以通过查看执行计划并创建它们来检查丢失的索引。

如果所有 indexex 都存在并且无法在表上创建索引,那么您可以在 where 子句中为 CreateDate 、 SourceDate 和其他列创建索引视图。

参考这个链接

于 2012-05-03T11:23:28.350 回答