遍历结果集导致的超时问题。紧急求救!!! 我用的是oracle 9.02版本,使用weblogic7作为发布server,我在java中调用了对数据库的查询,查询的是单表,表中有55个字段,记录一共是3万条,现在我执行了查询之后在遍历结果集的时候发生timeout的问题。怎样努力都无法缩短时间,而客户服务器上的timeout是不能改动到的。所以请求各位朋友,有什么良好的解决方法? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 假如服务器都不可以修改的话,而且SQL怎么改也没有什么效果的话。可以考虑配置数据库。让你的这个程序,和其他的程序不用同一个TNS,用一个新的,不设置服务器类型为共享,设置为独占。 具体的说问题是这样的:客户原来的报表系统需要扩容,在原有系统的基础上扩容报表显示结果,因此在原有的sql逻辑中再增加逻辑,因此造成了整个sql的运行时间增加,超出了客户原来设置的transaction time,而且客户强烈反对更改weblogic server中timeout的时间值,因此鉴于这样的情况,我采用的batchjob的方式去调用Procedure,然后把结果inset到一个放在一个新建的表中,这个表中的列就对应报表中需要显示的信息,所有业务逻辑计算和查询以及插入新表的操作都在Procedure中完成,而我这个调用Procedure是在一个单独的transaction中的,不存在timeout的情况。 也就是说我的这个表其实就是整个sql业务逻辑跑完之后存放所需报表数据的表。因此我在DAO中做的就是单表的简单查询,字段是55个,记录3万多条。 由于这套系统采用的是DAO中用jdbc直接链接,因此在java中执行查询后返回结果集,并遍历结果集取值,通过java文件操作生成需要merge到模板中的数据文件。现在的问题就是在执行了查询并且使用了索引之后,返回了结果集,但是在遍历的时候出现了timeout的问题。按照我的理解,遍历结果集就是指针的移动,应该是对于java的开销来说是很小的。但是现在在log中看出执行查询花费的时间非常少,因为是单表查询,但是遍历的时候就报错超时。百思不得其解…… 不知道说如果使用RowSet的话会不会有好的效果?因为该系统使用的是jdk1.4,因此RowSet的接口需要重写,如果改来使用RowSet的话,是否可以避免timeout的情况出现呢? oracle报表sql 归档日志满了,如何手工删除啊 高手来帮我看看这个ORACLE语句怎么写 一个纠结的oracle数据库分页问题 索引无法扩展?表空间中还有空间啊,why!!! 高手请进﹗【有关oracle中table的问题】 对表中数据分组统计和,然后需要把符合要求记录的"所有"字段信息显示出来 给分,就火 软件及数据库架构问题 请教,我在用dbca创建数据库时出现ORA-03113错误,查了资料还是不明白为什么。急!!! 救救我,求一sql 怎样在程序里通过OCI获取存储过程的参数类型?
也就是说我的这个表其实就是整个sql业务逻辑跑完之后存放所需报表数据的表。因此我在DAO中做的就是单表的简单查询,字段是55个,记录3万多条。
由于这套系统采用的是DAO中用jdbc直接链接,因此在java中执行查询后返回结果集,并遍历结果集取值,通过java文件操作生成需要merge到模板中的数据文件。现在的问题就是在执行了查询并且使用了索引之后,返回了结果集,但是在遍历的时候出现了timeout的问题。按照我的理解,遍历结果集就是指针的移动,应该是对于java的开销来说是很小的。但是现在在log中看出执行查询花费的时间非常少,因为是单表查询,但是遍历的时候就报错超时。
百思不得其解……