JDBC學習筆記-jdbc效能最佳化
最後更新:2017-01-13
來源:互聯網
上載者:User
創建阿里雲帳戶,並獲得超過 40 款產品的免費試用版;而企業帳戶則可以享有總值 $1200 的免費試用版。立即註冊!
jdbc程式的效能主要由兩個因素決定,一是資料庫本身的性質,另一個是與資料庫相對獨立的jdbc應用程式介面(api)的使用.這裡說的是如何正確使用jdbc編程介面,以獲得更好的效能.
jdbc主要最佳化有:
1.選擇正確的jdbc驅動程式
2.Connention的最佳化 使用串連池來管理Connection對象
3.Statement的最佳化 使用批次更新等
4.Result的最佳化 正確的從資料庫中get資料等
(1)選擇正確的jdbc驅動程式:
1 jdbc-odbc 橋
2 本地api-部分 java驅動
3 jdbc網路協議-純java驅動
4 jdbc本地協議
最好選擇 jdbc網路協議-純java驅動 效率比較高 但需要第三方軟體的支援 比如corba weblogic屬於這種類型
(2)最佳化Connection對象:
1.設定適當的參數 DriverManager.getConnection(String url,Properties props);
例如: Properties props=new Properties();
props.put("user","wuwei");
props.put("password","wuwei");
props.put("defaultRowPrefectch","30");
props.put("dufaultBatchValue","5");
Connection con=DriverManager.getConnection("jdbc:oracle:thin:@hostsString",props);
對象可以通過設定setDefaultRowPrefetch(int) 和 setDefaultBatchValue(int) 兩個參數類最佳化串連
2.使用串連池 可以自己寫一個串連池 這樣程式的靈活性強,便於移植.
apache項目開發了一套非常通用而表現非常穩定的對象池 http://jakarta.apache.org/commons/pool.htm
設計了自己的串連池後 在用戶端調用建立對象
public Object makeObject() throws Exception{
Class.forName("oracle.jdbc.driver.OracalDriver");
return DriverManager.getConnection("url","username","password");
}
銷毀對象時用
public void destroyObject(Object obj) throws Exception{
本文章原先以中文撰寫並發佈於 aliyun.com,亦設英文版本,僅作資訊用途。本網站不對文章的準確性,完整性或可靠性或其任何翻譯作出任何明示或暗示的陳述或保證。如對該文章有任何疑慮或投訴,請傳送電郵至 info-contact@alibabacloud.com 並提供相關疑慮或投訴的詳細說明。職員會於 5 個工作天內與您聯絡,一經驗證之後,即會刪除該侵權內容。