这是java开发的时候遇到的一个问题:这是在java程序中的循环取数然后写进txt文件的应用,我在9i中之需要2分钟就能跑完,到10G的时候需要20多分钟,到11G估计要5个小时以上,有高手知道是什么原因吗?把所有的东西放进list然后一次取出来是不行的,所有的表和字段都很多,没有太多的联系,想知道是不是oracle10G以上对大量的进行数据库的查询操作是不是进行了什么限制,大量的resuleset和preparestatement不及时关闭会导致游标超出上限的问题,因此需要频繁的关闭。sql="select userid_ ," + DBFieldName + " from " + dbtablename
+ " where bbq_= \'" + ibbq + "\' and " + DBFieldName
+ " is not null and (" + DBFieldName + " <> 0))";
+ " where bbq_= \'" + ibbq + "\' and " + DBFieldName
+ " is not null and (" + DBFieldName + " <> 0))";
Oracle Explain Plan
http://blog.csdn.net/tianlesoftware/archive/2010/08/20/5827245.aspx------------------------------------------------------------------------------
Blog: http://blog.csdn.net/tianlesoftware
网上资源: http://tianlesoftware.download.csdn.net
相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx
DBA1 群:62697716(满); DBA2 群:62697977(满)
DBA3 群:63306533; 聊天 群:40132017
1. 樓主的機器配置跟不上,跑Oracle11g要比Oracle10g吃掉更多資源,同一台機器,不見得10g就比11g慢,這不是說11g比10g差,只是機器的能力有限。
2. 樓主還是看看SQL的執行計劃,它會展示SQL運行的花銷。