請問一個有關jdbc效能的問題
我用二種方法從讀資料(60000條資料的表)
1.
long bTime=System.currTime()..;
Class.forName("oracle.jdbc.driver.OracleDriver");
String url = "jdbc:oracle:thin:@127.0.0.1:1521:osn";
String user = "scott";
String password = "tiger";
Connection conn = DriverManager.getConnection(url, user, password);
Statement stmt = conn.createStatement();
String sql = "SELECT * from cat" ;
ResultSet rs=stmt.execuQuery(sql);
while(rs.hastnext()){
... //組裝object
}
long eTime=System.currTime..();
System.out.println("cost time="+(eTime-bTime));
2. 用了jdbc2.0中的datasource
DataSource datasource=(Datasource)ic.lookup(...) //透過jndi取Datasource
//讀表兩次,看時間差距
for(int count=0;count<2;count++)
{
long bTime=System.currTime.();
Connection conn=(DataSource)datasource.getConnection();
.. //後面的寫法與1相同
long eTime=System.currTime..();
System.out.println("cost time="+(eTime-bTime));
}
據說第一種寫法,每次查詢前都要例項化一個類,所以效能會慢,jdbc2.0中引進了Datasource這個東東,是不是就是資料池呢?但是經過我的使用,2方法和1方法的時間沒有什麼區別,有時2快,有是1快,感覺1好象快一些.
我是多次執行的,特別是對第2種,datasource初始化好後,多次呼叫讀取表記錄的操作,時間基本一樣,差幾百ms
我的理解是不是有問題,資料池不是DataSource這個東東,是不是要把Connection這個物件包在裡面才算?
1.
long bTime=System.currTime()..;
Class.forName("oracle.jdbc.driver.OracleDriver");
String url = "jdbc:oracle:thin:@127.0.0.1:1521:osn";
String user = "scott";
String password = "tiger";
Connection conn = DriverManager.getConnection(url, user, password);
Statement stmt = conn.createStatement();
String sql = "SELECT * from cat" ;
ResultSet rs=stmt.execuQuery(sql);
while(rs.hastnext()){
... //組裝object
}
long eTime=System.currTime..();
System.out.println("cost time="+(eTime-bTime));
2. 用了jdbc2.0中的datasource
DataSource datasource=(Datasource)ic.lookup(...) //透過jndi取Datasource
//讀表兩次,看時間差距
for(int count=0;count<2;count++)
{
long bTime=System.currTime.();
Connection conn=(DataSource)datasource.getConnection();
.. //後面的寫法與1相同
long eTime=System.currTime..();
System.out.println("cost time="+(eTime-bTime));
}
據說第一種寫法,每次查詢前都要例項化一個類,所以效能會慢,jdbc2.0中引進了Datasource這個東東,是不是就是資料池呢?但是經過我的使用,2方法和1方法的時間沒有什麼區別,有時2快,有是1快,感覺1好象快一些.
我是多次執行的,特別是對第2種,datasource初始化好後,多次呼叫讀取表記錄的操作,時間基本一樣,差幾百ms
我的理解是不是有問題,資料池不是DataSource這個東東,是不是要把Connection這個物件包在裡面才算?
相關文章
- 一個關於jdbc2的問題JDBC
- 關於jdbc的一個問題,高手解惑JDBC
- 爭用!!!!一個關於JDBC的問題!JDBC
- 請教一個有關bibernate的session的問題Session
- 一個一直困惑的關於jdbc in 的問題JDBC
- 請教一個在Session Bean中使用JDBC的問題SessionBeanJDBC
- 問一個有關JBPM連MySQL資料庫的問題,高手請進MySql資料庫
- BMP的JDBC問題,請指教JDBC
- 問一個jdbc和oracle字符集問題?請大蝦救命JDBCOracle
- 請教banq問題,關於hibernate的jdbc的JDBC
- 請問老師一個關於命令模式的問題模式
- 關於系統效能的一個問題
- 請問一個關於web的管理系統的問題Web
- 問一個oracle jdbc url的設定字符集的問題,請大蝦救命。OracleJDBC
- 【Fenng 】JDBC 的 setTimestamp 效能問題JDBC
- 請教大家關於java效能的問題Java
- 請教彭老師關於jdbc的問題,謝謝!JDBC
- 請問一個java nio問題Java
- 請教一個關於執行緒的問題執行緒
- 初學,一個關於RMI的問題請教!!!
- 請教一個資料表關係的問題
- 請教一個關於工廠模式的問題模式
- 提個小問題--關於jdbc事務JDBC
- 請教一個cookies的問題Cookie
- 請教一個executeBatch()的問題BAT
- 請教一個問題,關於上傳檔案和圖片的問題
- 請問一個jndi連線的小問題
- 請教一個關於spring事務的問題 ?Spring
- 請教一個關於EJB建立物件時的問題物件
- 請教一個關於NIO執行方式的問題
- 請教一個關於執行平臺的問題
- 請教一個關於JdonFrameworkTest例項的問題Framework
- 請教有關template設計模式的問題設計模式
- 請教一個JVM問題JVM
- 請教高手一個問題!
- 請問banq jdonframework有關的Framework
- 關於高效能聊天系統的一個問題
- 求問一個 swipe 的問題,請大神們指教