设为首页 加入收藏

TOP

数据库连接池与非连接池效率的直观对比
2014-11-24 07:25:12 来源: 作者: 【 】 浏览:1
Tags:数据库 连接 池与非 效率 直观 对比
如果网络状况复杂(每次连接耗时更长)的情况下,使用连接池的优势将更加明显。
运行结果:

运行100次,共耗费109毫秒
非池运行100次,共耗费4422毫秒

运行200次,共耗费141毫秒
非池运行200次,共耗费8031毫秒

运行300次,共耗费219毫秒
非池运行300次,共耗费11812毫秒



测试代码:


public class Test {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try{
Test.poolConnection(300);
Test.connectionTest(300);
}catch(Exception e){
e.printStackTrace();
}

}

public static void poolConnection(int count)throws Exception{
OracleConnectionPoolDataSource ds = new OracleConnectionPoolDataSource();
ds.setDriverType("thin");
ds.setServerName("127.0.0.1");
ds.setPortNumber(1521);
ds.setNetworkProtocol("tcp");
ds.setDatabaseName("DEVELOPER");
ds.setUser("ysf");
ds.setPassword("ysf123");

PooledConnection pc = ds.getPooledConnection();
long bt = System.currentTimeMillis();
for(int i=0; i < count; i++){
Connection con = pc.getConnection();

Statement st = con.createStatement();
ResultSet rs = st.executeQuery("SELECT sysdate from dual");

/*while(rs.next()){
System.out.println(rs.getString("sysdate"));
}*/

rs.close();
st.close();
con.close();
}
long et = System.currentTimeMillis();
System.out.println("运行"+Integer.toString(count)+"次,共耗费"+Long.toString(et-bt)+"毫秒");

pc.close();
ds.close();
}

public static void connectionTest(int count)throws Exception{

Class.forName("oracle.jdbc.driver.OracleDriver");
long bt = System.currentTimeMillis();
for(int i=0; i < count; i++ ){
Connection con = DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:DEVELOPER","ysf","ysf123");

Statement st = con.createStatement();
ResultSet rs = st.executeQuery("SELECT sysdate from dual");

/*while(rs.next()){
System.out.println(rs.getString("sysdate"));
}*/

rs.close();
st.close();
con.close();
}
long et = System.currentTimeMillis();
System.out.println("非池运行"+Integer.toString(count)+"次,共耗费"+Long.toString(et-bt)+"毫秒");
}
}
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇SQL Server 2012 随时随地管理数据 下一篇mysql记录集中记录序号,MySQL中实..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Java 集合框架 - 菜 (2025-12-27 02:19:36)
·Java集合框架最全详 (2025-12-27 02:19:33)
·为什么安卓开发要用J (2025-12-27 02:19:30)
·C/C++ 类模板与模板 (2025-12-27 01:49:52)
·C语言 模板化<templ (2025-12-27 01:49:49)