首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >快速查询在SSRS中运行缓慢

快速查询在SSRS中运行缓慢
EN

Stack Overflow用户
提问于 2010-02-18 03:55:31
回答 15查看 113.5K关注 0票数 79

我有一个调用存储过程的SSRS报告。如果我直接从查询窗口运行存储过程,它将在2秒内返回。但是,从2005年SSRS报告运行相同的查询最多需要5分钟才能完成。这不仅仅在第一次运行时发生,它每次都会发生。此外,我在其他环境中看不到同样的问题。

你知道为什么SSRS报告在这个特定的环境中会运行这么慢吗?

EN

回答 15

Stack Overflow用户

发布于 2010-02-18 05:47:18

感谢您在这里提供的建议。我们已经找到了一个解决方案,而且它确实与参数有关。由于“参数嗅探”,SQL Server在从SSRS报告执行时会生成复杂的执行计划。解决方法是在存储过程中声明变量,并将传入的参数分配给变量。然后查询使用变量而不是参数。无论是从SQL Server管理器调用还是通过SSRS报告调用,这都会导致查询执行一致。

票数 115
EN

Stack Overflow用户

发布于 2011-03-24 02:51:28

将下面这段代码添加到proc的末尾:option(recompile)

这将使报告的运行速度几乎与存储过程一样快

票数 16
EN

Stack Overflow用户

发布于 2011-09-21 02:52:33

我要补充的是,我在使用非存储过程查询时也遇到了同样的问题--只是一个普通的select语句。为了解决这个问题,我在dataset SQL语句中声明了一个变量,并将其设置为等于SSRS参数。

多么烦人的变通方法!不过,还是要感谢你们让我离答案更近了!

票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2283943

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档