我们最近开始使用 Crystal Reports 2008 来实现自动化流程、链接多个数据源、为所有人提供预制报告的疯狂梦想。
但是,在查询我们的 SQL Server 数据库时,Crystal Reports 的速度非常慢。
-
初步(将在下面扩展)
我检查了“性能信息”,大部分延迟是由于读取数据库记录
- 如果我添加我们的一个字段,一个精简版的查询(10,000 个结果)大约需要 30 秒才能重新显示结果。
- 一个不那么精简的查询版本(20,000 个结果)大约需要 1 分 30 秒
- 实际查询有大约60,000个结果,需要8多分钟才能显示
-
系统设置
- 在“报告选项...”下,未选中“使用报告保存数据” 。
- 在“选项...”下,未选中“验证何时升级数据库驱动程序” (在另一个论坛上推荐)
- Windows 7、4GB 内存、64 位系统
- 当程序变灰时,我运行任务管理器,CR 似乎不再占用内存,CPU 使用率只有百分之几。
-
数据库本身
- 连接是 OLE DB
- 存储过程......不在桌面上(*蟋蟀噪音)。我们部门对数据库有一定的限制(只读)
- 查询已经尽可能的优化(只有一个join),只用了6个字段
- 所有 WHERE 条件(共 3 个)都在查询中
- 除了 join/one WHERE 标准,大部分数据来自视图
-
是否有其他选项/设置可以加快此过程?看起来 60,000 条记录花费 8 分钟并不能很好地说明 CR 的使用效率。