我有一个相当简单的查询(这次)我需要所有结果(我将它们存储在Excel电子表格中).查询本身会使服务器超时,那么如何在不发生这种情况的情况下运行它?
您可以增加页面的请求超时:
这将确保您有时间处理所有条目.
您可能还想将列表分成"块".需要进行一些调整以找出最佳块大小,但是您可以一次获取100或1000行结果,并使用
首先,我会检查为什么这个查询花了这么长时间.
您可以在数据库级别做什么来提高查询的性能.听起来好像你没有正确索引数据库.接受查询并将其放入一些程序中,您可以分析执行计划.寻找滞后并解决它们.
为了获得更高的性能,如果您的数据库支持那种东西,请考虑创建索引视图.
接下来看一下缓存查询的某些部分.没有理由对每个请求进行历史数据计算,只要它可以执行一次,然后在某个表中缓存.
至于冷冻结束.确保您使用java.io.BufferedWriter来创建电子表格.在CF中使用正常的字符串连接方法是狗慢,而BufferedWriter是无限快的.附件是我创建的用于创建标签分隔电子表格的CFC,您可以根据自己的需要对其进行修改.