import java.sql.*;
import oracle.jdbc.OracleTypes;
import util.DateUtil;
public class Test4PS {
public static void main(String[] args) {
String driver = "oracle.jdbc.OracleDriver";
String url = "XXXXXXXX";
String user = "XXXXXX";
String password = "XXXXXXXXX";
Connection conn = null;
Statement stmt = null;
CallableStatement cs = null;
ResultSet rs = null;
try {
Class.forName(driver);
conn = DriverManager.getConnection(url, user, password);
cs = conn.prepareCall("{Call XXXXXXXXXXXXX(?,?,?,?,?,?,?,?,?)}");
cs.setInt(1, 2);
cs.setInt(2, 2);
cs.setInt(3, 200909);
cs.setInt(4, 200910);
cs.setInt(5, 0);
cs.setString(6, "2");
cs.setInt(7, 1);
cs.setString(8, "0");
cs.registerOutParameter(9, OracleTypes.CURSOR);
cs.execute();
rs = (ResultSet) cs.getObject(9);
System.out.println("测试时间开始:");
long start_time = System.currentTimeMillis();
int k = 0;
while (rs.next()) {//执行第一次rs.next()时,大概使用了20多秒,而执行第二次、第三次...时,大概是0.01秒
if (k <= 100) {
test.CommonTool.println(k++);//
}
}
rs.close();
//stmt.close();
//conn.close();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (stmt != null) {
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}
-------------------------------------------------------------------------
1.主要问题:执行rs.next的第一次大概花费了20多秒,第二次以后平均0.01秒,为什么?
2.环境:ORACLE 10.2.0.4、class12.jar(10.2.0.4)
3.曾经使用过的解决方案:
更换Driver、同类procedure对比,不同类procedure对比,oraclecachedrowset。
4.测试结果
测试结果A.:仅发生在callprocedure之后,一般查询无此问题;
测试结果B.:在执行rs.next之前,这个procedure运行时间大概2分钟,当执行其他procedure也存在部分发生该情况;
测试结果C.:更换其他版本Driver(包括ojdbc14.jar),依然存在。
由于问答无人回答,请斑竹见谅。
分享到:
相关推荐
These are the driver versions in the 11R2 release: - JDBC Thin Driver 11R2 100% Java client-side JDBC driver for use in client applications, middle-tier servers and applets. - JDBC OCI Driver 11...
### Oracle 游标实例解析及应用 #### 一、Oracle游标概述 在Oracle数据库中,游标(Cursor)是一种数据库对象,它允许程序能够逐行处理查询结果集中的数据。与直接执行SQL语句获取整个结果集不同,游标可以逐行...
<!--mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc14 -Dversion=10.2.0.1.0 -Dpackaging=jar -Dfile=c:\ojdbc14.jar--> ... <artifactId>ojdbc6 <version>11.2.0.1.0 </dependency>
这个压缩包 "orcle.dateaccess92070.rar" 包含了所有必要的组件,以确保用户能够顺利在服务器上安装并使用该工具。 Oracle 数据库连接工具是数据库管理员、开发人员以及需要频繁交互数据库的用户不可或缺的工具。...
orcle的jdk1.8.181用于64位linux.zip。 JDK(Java Development Kit) 是 Java 语言的软件开发工具包(SDK)。 SE(JavaSE),standard edition,标准版,是我们通常用的一个版本,从JDK 5.0开始,改名为Java SE。 EE...
在文档"orcle一些基础1.docx"中,提到了几个关键的SQL命令,包括创建表、插入数据、修改字段属性以及添加和删除字段。下面将详细讲解这些知识点。 首先,创建表是数据库设计的基础。在示例中,创建了一个名为`...
Oracle OCI,全称为Oracle Call Interface,是Oracle数据库提供的一种C语言编程接口,允许开发者在C或C++程序中直接操作数据库。这个“oracle最新OCI文件.zip”包含了最新的Oracle OCI库和相关的开发文件,旨在确保...
Oracle的Instant Client 18.5是Oracle公司提供的一款轻量级的客户端工具,它使得开发者和系统管理员能够在不安装完整Oracle数据库服务器的情况下,与Oracle数据库进行交互。这个版本的Instant Client支持Oracle ...
【Oracle仓库管理系统数据库设计】 在本课程设计报告中,我们关注的是基于Oracle的仓库管理系统,其核心在于数据库的设计与管理。这个系统旨在实现仓库货物的高效管理,包括进仓、出仓、库存预警、数据管理和查询...
Oracle仓库管理系统是一个基于Oracle数据库技术设计的系统,用于高效地管理仓库中的货物进出、库存以及相关的数据维护。在这个系统设计报告中,我们看到系统的主要功能包括进仓管理、出仓管理、库存预警、数据管理和...
Oracle 数据库的保存与恢复是数据库管理中的关键环节,它涉及到数据的安全性和可用性。本文主要探讨了 Oracle 数据库在面临实例故障和介质故障时如何进行恢复,以及相关的恢复策略和案例。 首先,理解数据库恢复的...
珍藏版供大家下载不要分,ORCLE环境安装必备.........................
使用完数据库连接后,务必关闭`Connection`、`Statement`和`ResultSet`对象,以避免资源泄漏。 **ojdbc8-oracle12** 在`ojdbc8-oracle12`这个子文件中,可能包含了Oracle 12c数据库与JDK 8兼容的特定版本JDBC驱动...
### Oracle8i Parallel Server 设置与配置指南 #### 概述 Oracle8i Parallel Server(OPS)是Oracle在1999年发布的一款企业级数据库管理系统的重要组成部分,它为用户提供了一种高效、可靠的并行处理机制,能够...
orcle归档日志满了解决办法,每步步骤详细说明,自己在工作中积累的文档
orcle的课程设计 建表 插入数据 索引 查询 约束等等
Oracle数据库是全球广泛使用的大型关系型数据库管理系统,其在企业级应用中占据着重要的地位。在Oracle的设计与开发过程中,掌握其核心功能和常用函数、方法对于提高数据库管理效率至关重要。以下将详细介绍Oracle的...
CREATE TABLESPACE byh DATAFILE 'D:\oradata\orcl\byh.dbf' SIZE 200M AUTOEXTEND ON NEXT 5M MAXSIZE UNLIMITED; ``` 上述命令创建名为byh的表空间,初始大小为200MB,并配置自动扩展,每次扩展5MB,最大尺寸不...
Oracle数据库是全球广泛使用的大型关系型数据库管理系统,尤其在企业级应用中占据重要地位。这份“Oracle基本培训ppt文件”是为初学者设计的,旨在介绍Oracle的基本查询和函数使用,帮助新用户快速掌握数据库操作。...
Oracle SQLplus 语句详解 Oracle SQLplus 是 Oracle 数据库管理系统中的一款命令行工具,用于执行 SQL 语句,查看数据库对象的结构,执行事务处理等。下面我们将对 Oracle SQLplus 的使用、语句、命令、函数等进行...