我有一个打印所有项目的表单,这是用户在首次加载表单时看到的内容:
此报告打印多个页面,每次只更改9列。总共有4652页,将所有这些页面加载到报表查看器上需要5分钟。每个项目有两页,共有2326项。
当用户点击打印预览时
报告第1页
**报告的第2页**
我第二次运行相同的报告,它在1和1/2分钟的时间内从缓存加载报告,这是一个显着的差异
我的问题是如何才能提高报告的效果。数据库和应用程序在同一台机器上并且性能很糟糕,用户希望在带有sql server的4个工厂安装应用程序,由于多人将访问,性能将成为一个更大的问题在应用程序中,我们将遇到网络瓶颈。从Sql Server的角度来看,我添加了索引,更新了统计信息,试着看看是否有办法让查询更快地获取结果但是从报表查看器和报表设计师的角度来看我无能为力任何帮助都会有所帮助赞赏。
答案 0 :(得分:0)
将非聚集索引添加到您在Where子句中使用的列。
答案 1 :(得分:0)
如果实时数据不是必须的(例如,可以接受半小时或一小时的延迟),您可以尝试使用报告快照。
简单来说,它会预先生成报告,并将其保留一段时间,因此加载应该几乎总是即时的。像我上面提到的那样,报告并不总是显示最新数据。