jdbc学习笔记——jdbc性能优化-by jon

jdbc学习笔记——jdbc性能优化-by jon

ID:14030496

大小:27.50 KB

页数:5页

时间:2018-07-25

jdbc学习笔记——jdbc性能优化-by jon_第1页
jdbc学习笔记——jdbc性能优化-by jon_第2页
jdbc学习笔记——jdbc性能优化-by jon_第3页
jdbc学习笔记——jdbc性能优化-by jon_第4页
jdbc学习笔记——jdbc性能优化-by jon_第5页
资源描述:

《jdbc学习笔记——jdbc性能优化-by jon》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、JDBC学习笔记——JDBC性能优化-ByJonJDBC学习笔记——JDBC性能优化作者:佚名来自:CSDNjdbc程序的性能主要由两个因素决定,一是数据库本身的性质,另一个是与数据库相对独立的jdbc应用程序接口(api)的使用。这里说的是如何正确使用jdbc编程接口,以获得更好的性能。jdbc主要优化有:1.选择正确的jdbc驱动程序2.Connention的优化:使用连接池来管理Connection对象3.Statement的优化:使用批量更新等4.Result的优化:正确的从数据库中get数据等

2、(1)选择正确的jdbc驱动程序:1、jdbc-odbc桥2、本地api-部分java驱动3、jdbc网路协议-纯java驱动4、jdbc本地协议最好选择jdbc网路协议-纯java驱动效率比较高但需要第三方软件的支持比如corbaweblogic属于这种类型(2)优化Connection对象:1、设置适当的参数DriverManager.getConnection(Stringurl,Propertiesprops);例如:Propertiesprops=newPropertie

3、s();props.put("user","wuwei");props.put("password","wuwei");props.put("defaultRowPrefectch","30");props.put("dufaultBatchValue","5");Connectioncon=DriverManager.getConnection("jdbc:oracle:thin:@hostsString",props);对象可以通过设置setDefaultRowPrefetch(int)和

4、setDefaultBatchValue(int)两个参数类优化连接2、使用连接池可以自己写一个连接池,这样程序的灵活性强,便于移植。apache项目开发了一套非常通用而表现非常稳定的对象池http://jakarta.apache.org/commons/pool.htm设计了自己的连接池后,在客户端调用建立对象:publicObjectmakeObject()throwsException{Class.forName("oracle.jdbc.driver.OracalDriver");ret

5、urnDriverManager.getConnection("url","username","password");}销毁对象时用:publicvoiddestroyObject(Objectobj)throwsException{((Connection)obj.close());}注意几点:对象池里有没有回收机制,对象池里有机有容量限制,对象池里有多少个闲置对象(可以释放)3、控制事务的提交最好手动提交事务,不但可以可以保证数据原子性,而且对新能提高留下余地。try{

6、connection.setAutoCommint(false);//代码用PreparedStatement性能比Statementh好connection.commit();connection.setAutoCommit(true);}catch(SQLExceptione){}finally{//代码if(connection!=null){connection.close();}}4、适当的选择事务的隔离级别TRANSACTION_

7、READ_UNCOMMITED性能最高TRANSACTION_READ_COMMITED快TRANSACTION_REFEATABLE_READ中等RANSACTION_SERIALIZABLE慢(3)Statement优化:jdbc3个接口用来处理sql的执行,是StatementPreparedStatementCallableStatement提供适当的Statement接口批量执行sql从数据库批量获取数据。PreparedStatement比Statement性能要好主要体现在一个sql语

8、句多次重复执行的情况。PreparedStatemnt只编译解析一次而Statement每次编译一次。批量修改数据库Statement提供方法addBatch(String)和executeBatch()调用方法为stmt.addBatch(

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。