请教关于执行时间的问题

byeceg 2011-02-28 11:22:00
问题这样:
同样一条sql语句我在pl/sql Developer中执行,仅耗时0.0xx秒,也就是小于100毫秒。而在程序中确用了55922毫秒。

localpstmt = localConnection.prepareStatement(sql语句);
localpstmt.setString(1, xx);
long time = Calendar.getInstance().getTimeInMillis();
rs = localpstmt.executeQuery();
System.out.println(sb.toString());
System.out.println("时间:"+(Calendar.getInstance().getTimeInMillis()-time)+"毫秒");

pl/sql Developer中执行的速度肯定会比程序要快,但现在程序太慢了。请问,一般问题会出现在哪?谢谢。
...全文
82 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
hatsubun2 2011-02-28
  • 打赏
  • 举报
回复
pl/sql应该是自动批处理的!
  • 打赏
  • 举报
回复
数据量大,pl/sql 默认返回满屏记录
jaygo311 2011-02-28
  • 打赏
  • 举报
回复
数据量的问题吧,在这就是本身的数据库连接的执行
ljf_ljf 2011-02-28
  • 打赏
  • 举报
回复
首先,要求DBA 看看Oracle 的Java 池的配置是多少?是否合理?
第二,可以检查自己JDBC 版本是否有执行某些Oracle特性时候存在缺陷?【我遇到过一次,换了相关JDBC版本就解决了】
第三,两个时间的数据量是否同一个级数?
第四,考虑一下数据的传输时间?因为PL/SQL 运行SQL传输数据可能会比较笑。或者应用程序机器与数据库之间网络连接出现异常。
runer 2011-02-28
  • 打赏
  • 举报
回复
看看应用的配置,数据库驱动有没有问题

另外可以在数据库中trace一下这个sql语句的执行情况
awusoft 2011-02-28
  • 打赏
  • 举报
回复
连接时间过长?数据量大?
colachens 2011-02-28
  • 打赏
  • 举报
回复
后面换换看看

localpstmt = localConnection.prepareStatement(sql语句);
localpstmt.setString(1, xx);
long time = System.currentTimeMillis();
rs = localpstmt.executeQuery();

long time2 = System.currentTimeMillis();
System.out.println("时间:"+ (time2-time) +"毫秒");

System.out.println(sb.toString());

62,629

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧