使用JDBC如何提高访问数据库的性能?

使用JDBC如何提高访问数据库的性能?,第1张

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

对象,以提高效率


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/6929618.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-30
下一篇 2023-03-30

发表评论

登录后才能评论

评论列表(0条)

保存