从sqldeveloper运行sql脚本与从java代码运行sql脚本
我正在尝试在Oracle 11g R2中运行一些sql脚本 当我尝试从一个独立的java代码运行这些脚本时,查询将运行40多分钟,但当我从sqldeveloper客户机运行相同的脚本时,查询将运行4分钟 原因可能是什么从sqldeveloper运行sql脚本与从java代码运行sql脚本,java,sql,oracle11g,oracle-sqldeveloper,Java,Sql,Oracle11g,Oracle Sqldeveloper,我正在尝试在Oracle 11g R2中运行一些sql脚本 当我尝试从一个独立的java代码运行这些脚本时,查询将运行40多分钟,但当我从sqldeveloper客户机运行相同的脚本时,查询将运行4分钟 原因可能是什么 编辑 我正在编写一些更新脚本,调用pl/sql过程 是的,我正在执行字符串连接要从java执行sql,请执行以下步骤: 打开连接(700毫秒) 准备一份声明(80毫秒) 执行语句(10毫秒) 计时示例来自于我的环境中的一个简单语句。您的环境会有所不同,但时间比例会相似。关键
编辑 我正在编写一些更新脚本,调用pl/sql过程
是的,我正在执行字符串连接要从java执行sql,请执行以下步骤:
- 打开连接(700毫秒)
- 准备一份声明(80毫秒)
- 执行语句(10毫秒)
检查代码是否未在循环中打开连接和准备语句。这可能占了您大部分时间,并解释了为什么在使用sql developer启动脚本时,脚本会慢一些。您应该打开连接一次,然后重新使用连接。如果您没有上载大量数据,那么无论代码是从sql developer还是其他客户端启动的,在数据库服务器上运行代码所需的时间都是相同的。您执行的是哪种类型的语句,执行了多少条语句?(选择、插入、更新)您发送的数据量(对于写语句)和检索的行数。您没有显示的所有内容:您的代码。我怀疑你在做一些可疑的事情,比如在一个紧密的循环中进行字符串连接。这只是一个偶然的机会:SQLDeveloper是ODBC,而从java你可以使用JDBC。@avid:SQLDeveloper(来自Oracle)是一个基于java/JDBC的工具