sql-server-2008-r2 - SQL Server 2008 R2 返回值时行数需要更多时间

标签 sql-server-2008-r2

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

我已经尝试过:

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 秒吗?请帮忙。

最佳答案

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

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

refer this link

关于sql-server-2008-r2 - SQL Server 2008 R2 返回值时行数需要更多时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10430193/

相关文章:

sql-server - 从 SQL Server 2008 R2 Express 升级到 SQL Server 2008 R2 Enterprise

.net - 用户 'sa' 的密码每天自动更改

sql-server - 我可以找到对数据库结构/程序进行特定更改的用户吗?

html - 替换 SQL Server 报告中的默认 css 值

TSQL DateTime 到 DateKey Int

sql-server - 在 SQL 2008/12 中压缩 VARCHAR - 看不到结果

sql-server - NVARCHAR 或 VARCHAR 变量定义的返回长度

sql-server - SQL 更新语句的双重结果

sql - 在 where 子句中运行返回 boolean 值的 SQL 用户定义函数

sql-server - 与我熟悉的 SELECT 语句不同