11.3 小结

合理调优访问数据库的 JDBC 和 JPA 是影响中间层应用性能最重要的因素之一。请牢记下面的最佳实践。

  • 通过合理配置 JDBC 或者 JPA,尽可能地实现批量读取和写入。

  • 优化应用使用的 SQL 语句。对于 JDBC 应用,这都是一些基本、标准的 SQL 命令。对 JPA 应用,你还需要考虑 L2 缓存的影响。

  • 尽量减少锁的使用。如果数据不大容易发生冲突,推荐使用乐观锁(Optimistic Locking);如果数据经常发生冲突,推荐使用悲观锁(Pessimistic Locking)。

  • 请务必使用预处理语句池(Prepared Statement Pool)。

  • 请务必合理设置连接池的大小。

  • 合理地设置事务的范围:由于锁在整个事务期间都需要保持,所以在不影响应用程序扩展性的前提下,尽可能把事务的范围设置得大一些。