我正在尝试在Oracle 11g R2中运行一些sql脚本
当我尝试从独立的java代码运行这些脚本时,查询会运行40分钟,但是当我从sqldeveloper客户端运行它时,它会在4分钟内运行
可能是什么原因?
修改
我正在做一些更新脚本,调用pl / sql过程
是的我正在进行字符串连接
答案 0 :(得分:1)
要从java执行sql,请执行以下步骤:
时序示例来自我的环境,用于简单的声明。您的环境会有所不同,但比例的时间会相似。关键是打开连接可能比实际执行语句要昂贵得多。
检查您的代码是否未打开连接并在循环内准备语句。这可能占你的大部分时间,并解释为什么脚本比使用sql developer启动时慢。您应该打开一次连接,然后重新使用该连接。如果您没有上传大量数据,那么无论是从sql developer还是其他客户端发起,代码在数据库服务器上运行所花费的时间都是相同的。