如何防止Crystal Webserver在每个页面上重新获取数据

时间:2008-10-01 05:58:38

标签: crystal-reports

我们通过他们的网络服务器使用Crystal 11。当我们运行报表时,它会执行Sql查询并在Crystal Web报表查看器中显示报表的第一页。

当您点击下一页按钮时,它会重新运行Sql查询并显示下一页。

我们如何才能停止重新查询数据?

我们还有多个人同时运行相同的报告(毕竟它是一个Web服务器),我们不希望在同一报告的不同实例之间缓存数据,我们只想缓存数据在报告的每个单一实例中。

1 个答案:

答案 0 :(得分:1)

分页的原因不仅仅是表达问题。通过分页,最重要的一个优点是延迟加载数据 - 因此理论上,根据给定的过滤器,您只需加载所需的内容。

想象一下,如果您的数据库中有数百万条记录,并且您加载了所有这些记录。首先,这将是一个慢得多的地狱,第二个你拿了很多你并不真正需要的东西。现在所有的网络模型都基于延迟加载而不是批量加载。想想Google App Engine:您无法从Google数据存储中检索给定交易中的1000多条记录 - 而且您知道如果您只是尝试显示它们,您的浏览器就会死亡。

我将以一个问题结束 - 您是否有任何类型的性能问题

如果是这样,你可能认为你会做得更好,但可能不是这样,因为你会减少服务器上的负担,但每个单一查询将消耗更多的资源。 如果不是我的建议是不管它! :)