解决运行procedure很慢但运行procedure内容很快问题
问题描述
在生产环境发布系统后,我突然遇到了一次意想不到的困境。报表迟迟无法刷新,等待的时间远超预期。面对这种情况,我瞬间感到紧张不安。为了迅速找到问题的症结,我立即开始了一系列的测试。我右键点击报表属性,寻找报表地址,并仔细检查参数是否传递正确。当我单独运行报表中的过程(procedure)时,它似乎无法执行。逐段执行过程却没有任何问题,整个procedure的内容执行起来也没有障碍。唯独在执行名为“procedure_nm”的过程时,总是遇到问题。在开发环境中执行此procedure却一切正常。于是,我开始陷入了纠结。
环境背景
我所面临的环境是SQL SERVER 2008和SSRS 2008。经过仔细思考,我发现生产环境和开发环境之间存在显著差异。开发环境是新搭建的,而生产环境已经运行了好几年。最近,我们对生产环境的报表procedure进行了一些更改,并打了一个补丁来修改过去的半年的历史数据。
解决过程
在深入查找问题的过程中,我意识到生产环境中的表统计信息(在SQL SERVER的目标浏览器左侧展开表后显示的统计信息)与开发环境不同。我猜测大量更新数据可能导致生产环境的统计信息过时。SQL SERVER引擎在制定数据检索计划时会依据这些统计信息。就像原本有一条高效的路线从A市到B市,但现在这条路线不再使用,SQL SERVER引擎就会寻找其他方法。统计信息的自动更新通常会在夜间进行。
我尝试手动更新生产环境的统计信息。在更新统计信息后,报表成功打开了。
解决方法
使用以下命令来更新数据库的统计信息:
```sql
USE Database_nm
EXEC sp_UpdateStats
```
大量更新数据会导致数据库统计信息发生变化,从而影响SQL SERVER对SQL查询的解析。为了确保SQL SERVER能够基于最新的正确信息制定高效的执行计划,我们需要定期手动更新数据库的统计信息。这样,即使面对大量数据更新,报表和查询也能保持流畅运行。
网络安全培训
- 解决运行procedure很慢但运行procedure内容很快问题
- Win7系统浏览器提示“此网页包含重定向循环”如
- win10系统卡顿怎么解决 win10卡顿优化方法
- 有大号电池续航就强?小米笔记本Pro真实续航评
- 系统重装后电脑没有声音怎么办?声卡驱动怎么
- Win7使用金山毒霸提示“安装引擎失败,不支持此
- 开机出现boot manager该怎么办-
- Win10 RS4快速预览版17107更新、已知问题汇总
- ipad无法连接wifi ipad 连接不了wifi的解决方法
- 惠普暗影精灵4 Pro性能如何 惠普暗影精灵4 Pro R
- 教你如何检查电脑故障使用技巧
- win7系统如何给共享文件夹设置密码
- Alienware m17笔记本值得买吗 Alienware m17轻薄笔记本
- 命令提示符窗口变小文字看不清楚该怎么办-
- 防治电脑病毒十三大原则详细介绍
- 电脑中的额定功率是什么意思