从sqldeveloper和java代码运行sql脚本

时间:2011-05-04 07:15:08

标签: java sql oracle11g oracle-sqldeveloper

我正在尝试在Oracle 11g R2中运行一些sql脚本

当我尝试从独立的java代码运行这些脚本时,查询会运行40分钟,但是当我从sqldeveloper客户端运行它时,它会在4分钟内运行

可能是什么原因?


修改

我正在做一些更新脚本,调用pl / sql过程

是的我正在进行字符串连接

1 个答案:

答案 0 :(得分:1)

要从java执行sql,请执行以下步骤:

  • 打开连接(700毫秒)
  • 准备一份声明(80ms)
  • 执行声明(10ms)

时序示例来自我的环境,用于简单的声明。您的环境会有所不同,但比例的时间会相似。关键是打开连接可能比实际执行语句要昂贵得多。

检查您的代码是否未打开连接并在循环内准备语句。这可能占你的大部分时间,并解释为什么脚本比使用sql developer启动时慢。您应该打开一次连接,然后重新使用该连接。如果您没有上传大量数据,那么无论是从sql developer还是其他客户端发起,代码在数据库服务器上运行所花费的时间都是相同的。