【发布时间】:2011-05-06 06:53:15
【问题描述】:
我有一些查询会运行很长时间(20-30 分钟)。如果同时启动大量查询,连接池很快就会耗尽。
是否可以将长时间运行的查询包装到一个语句(过程)中,将通用查询的结果存储到临时表中,终止连接,并在以后按需获取(轮询)结果?
编辑: 查询和数据结构已优化,“检查您的索引和执行计划”之类的提示对我不起作用。我正在寻找一种方法来存储 [也许是] 通用结果集的字节表示,以供以后检索。
【问题讨论】:
-
您也可以发布您的查询,我敢打赌这里的一些专家可以加快速度。
-
我不是在寻找优化一两个查询的方法。
-
可以增加连接数吗?
-
@jonearles 连接池容量 ATM 是 50。我可以增加它,但考虑到大多数连接是空闲的,我宁愿轮询结果集而不是等待查询完成。
-
这些查询是如何执行的?通过您无法控制的应用程序,还是仅由您控制?如果这些只是您执行的查询,JOTN 的“create table as select”解决方案应该可以工作。
标签: java sql mysql sql-server oracle