如何优化MYSQL中的JDBC性能?
JDBC驱动有时当数据过于庞大时,往往会出现故障,那么这时候对JDBC驱动进行性能优化是很必要的。怎样对JDBC性能进行优化呢?可以有哪些优化的内容呢?
如何实现JDBC性能优化
JDBC程序的性能主要由两个因素决定,一是数据库本身的性质,另一个是与数据库相对独立的JDBC应用程序接口(API)的使用。这里说的是如何正确使用JDBC编程接口,以获得更好的性能。
JDBC的主要优化介绍如下。
(1)选择正确的jdbc驱动程序
最好选择JDBC网路协议-纯java驱动,效率比较高,但需要第三方软件的支持,例如corbaweblogic属于这种类型。
(2)优化Connection对象
设置适当的参数
DriverManager.getConnection(Stringurl,Propertiesprops);例如:
对象可以通过设置setDefaultRowPrefetch(int)和setDefaultBatchValue(int)两个参数类优化连接。
使用连接池
可以自己写一个连接池,这样程序的灵活性强,便于移植,设计了自己的连接池后,在客户端调用建立对象。
(3)优化ResultSet
批量读取数据。合理设置ResultSet的getFetchSize()和setFetchSize()方法中的参数,使用正确的get和set方法,使用整数而不是字段名作为参数性能比较高,例如”setInt(1,100);”。
”setString(2,”aaaa”);”比”setInt(“id”,”100″);setString(“name”,”aaaa”);”性能好。
(4)控制事务的提交
最好手动提交事务,不但可以保证数据原子性,而且对性能提高留下余地。适当地选择事务的隔离级别:
TRANSACTION_READ_UNCOMMITED(性能最高)。
TRANSACTION_READ_COMMITED(快)。
TRANSACTION_REFEATABLE_READ(中等)。
RANSACTION_SERIALIZABLE(慢)。
(5)其他方面的性能优化
及时显示的关闭ConnectionStatementResultSet,其中Connection可以用ConnectionPool处理。使用数据库系统的强大查询功能去组织数据,这样程序运行时和数据库服务的交互次数少,数据库返回给程序的记录条数少得多,所以性能有很大的提高。