Sql server Access 2007报告性能

Sql server Access 2007报告性能,sql-server,caching,report,ms-access-2007,Sql Server,Caching,Report,Ms Access 2007,因此,我正在Access 2007中开发报告,使用传递查询从SQL server检索数据。有些查询可能需要一两秒钟才能在服务器端运行。在预览模式下,基于其中一个查询打开报表时,呈现报表所需的时间远远超过仅运行查询所需的时间。我使用SQL Profiler观察发生了什么,发现在报表运行时,底层查询被执行了多次(至少五次)。如何获得缓存查询结果的访问权限以提高这些报告的性能?是否有任何用户定义的函数针对此查询结果运行?如果没有,我建议创建一个简单的Access查询,运行“SELECT*from pa

因此,我正在Access 2007中开发报告,使用传递查询从SQL server检索数据。有些查询可能需要一两秒钟才能在服务器端运行。在预览模式下,基于其中一个查询打开报表时,呈现报表所需的时间远远超过仅运行查询所需的时间。我使用SQL Profiler观察发生了什么,发现在报表运行时,底层查询被执行了多次(至少五次)。如何获得缓存查询结果的访问权限以提高这些报告的性能?

是否有任何用户定义的函数针对此查询结果运行?如果没有,我建议创建一个简单的Access查询,运行“SELECT*from passthroughqueryname”,然后将其用作报告的基础,因为这可能会阻止Access多次运行它。@Matt感谢您的建议,但这没有任何效果。仅供参考。。。传递查询的源是一个存储过程,如果这有什么区别的话。这有点奇怪,相反(取决于传递查询返回的数据量),我建议使用来自该传递的“生成表”查询,以便将结果本地存储在访问表中,然后将报表绑定到本地表。您可以在每次运行过程时“删除”和“重新创建”表,也可以截断数据,然后从传递中追加数据。这不是我喜欢的方法,因为服务器可以使用,但有时只是更新的方式:我们已经迁移到Access 2010,它没有表现出上述行为。