![使用JDBC如何提高访问数据库的性能?,第1张 使用JDBC如何提高访问数据库的性能?,第1张](/aiimages/%E4%BD%BF%E7%94%A8JDBC%E5%A6%82%E4%BD%95%E6%8F%90%E9%AB%98%E8%AE%BF%E9%97%AE%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9A%84%E6%80%A7%E8%83%BD%EF%BC%9F.png)
1. 使用
数据连接池(Connection Pool), 避免使用DriverManager.getConnection。2. 合理的配置数据连接池参数,设置数据连接池的初始大小,最大连接数,连接超时时间等。3. 选择合适的事务等级,按照不同的数据库 *** 作类型选择不同的事务等级。4. 及时关闭Connection,不关闭的话会严重影响系统的性能,甚至造成系统罢工。5. 优化Statement1) 选择合适的Statement, 根据不同的数据库 *** 作选择Statement, PreparedStatement 或者 CallableStatement, 具体选择哪个可以通过搜索引擎了解。2) 尽可能的使用batch, 这样可以减少调用JDBC的次数。 具体的方法是使用statement.addBatch("your sql") 添加batch, 然后执行statement.executeBatch()来一起执行。3) Statement执行完毕后关闭Statement6. 优化
你的SQL, 尽量减少你的结果集,不要每次都"select * from XXX"7. 使用一些缓存工具进行缓存,特别是大数据量大访问量的系统,合理的缓存往往会显著的提高系统的性能批处理 你插入一条 就连接一次数据库。。。。几万条 就连接几万次 理论和实际效率肯定会相对低一点呢 你可以吧你的数据装一个LIST里面 一次插入1000条 用毫秒数试试要多久 会不会好点 10000条又多久。。(当然 看你数据有多大的 不大就没问题) 然后循环插就好了还有数据库表主键索引都建一下PreparedStatement
接口继承
Statement,并与之在两方面有所不同:
PreparedStatement
实例包含已编译的
SQL
语句。这就是使语句“准备好”。包含于
PreparedStatement
对象中的
SQL
语句可具有一个或多个
IN
参数。IN参数的值在
SQL
语句创建时未被指定。相反的,该语句为每个
IN
参数保留一个问号(“?”)作为占位符。每个问号的值必须在该语句执行之前,通过适当的setXXX
方法来提供。
由于
PreparedStatement
对象已预编译过,所以其执行速度要快于
Statement
对象。因此,多次执行的
SQL
语句经常创建为
PreparedStatement
对象,以提高效率
评论列表(0条)