Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从sqldeveloper运行sql脚本与从java代码运行sql脚本_Java_Sql_Oracle11g_Oracle Sqldeveloper - Fatal编程技术网

从sqldeveloper运行sql脚本与从java代码运行sql脚本

从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毫秒) 计时示例来自于我的环境中的一个简单语句。您的环境会有所不同,但时间比例会相似。关键

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

当我尝试从一个独立的java代码运行这些脚本时,查询将运行40多分钟,但当我从sqldeveloper客户机运行相同的脚本时,查询将运行4分钟

原因可能是什么


编辑

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


是的,我正在执行字符串连接

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

  • 打开连接(700毫秒)
  • 准备一份声明(80毫秒)
  • 执行语句(10毫秒)
计时示例来自于我的环境中的一个简单语句。您的环境会有所不同,但时间比例会相似。关键是,打开连接可能比实际执行语句要昂贵得多


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

您执行的是哪种类型的语句,执行了多少条语句?(选择、插入、更新)您发送的数据量(对于写语句)和检索的行数。您没有显示的所有内容:您的代码。我怀疑你在做一些可疑的事情,比如在一个紧密的循环中进行字符串连接。这只是一个偶然的机会:SQLDeveloper是ODBC,而从java你可以使用JDBC。@avid:SQLDeveloper(来自Oracle)是一个基于java/JDBC的工具