Oracle JDBC优化:在Spring Boot应用程序中启用PreparedStatement缓存

问题描述 投票:9回答:3

我有一个连接到Oracle数据库的Spring Boot REST应用程序。我们正在通过JdbcTemplate使用JDBC。 Oracle数据库属性是通过以下3个[[application.properties设置获得的:

spring.datasource.url spring.datasource.username spring.datasource.password
此应用程序正在使用HikariCP。从HikariCP网站上,我知道该池不缓存PreparedStatements,因为最好使用JDBC驱动程序来设置。

现在,我将在哪里指定什么来确保这些:

  1. Oracle JDBC驱动程序(ojdbc7.jar)缓存PreparedStatements。有没有一种方法可以自定义它可以缓存的PreparedStatements的数量。

  2. https://howtodoinjava.com/java/jdbc/best-practices-to-improve-jdbc-performance/,我们看到
  3. 请确保您的数据库设置为最大数据包大小,并且驱动程序匹配该数据包的大小。为了获取更大的结果集,这减少了之间发送/接收的总数据包数量驱动程序和服务器。

    基于上述,需要执行哪些步骤

    查找Oracle DB Server数据包大小
  1. 如果将Oracle DB Server设置为最大数据包大小,则查找
  2. 确定Oracle JDBC驱动程序的(ojdbc8.jar)数据包大小。
  3. 将感谢任何其他(Oracle)JDBC性能优化技巧。

我有一个连接到Oracle数据库的Spring Boot REST应用程序。我们正在通过JdbcTemplate使用JDBC。 Oracle数据库属性通过这3个application.properties ...

java oracle spring-boot jdbc prepared-statement
3个回答
2
投票
嗨,功能Enable Prepared语句缓存与Spring无关,与REST无关。此函数是仅在数据源,JDBC驱动程序和数据库之间进行协商的问题。为了了解如何进行设置,请阅读有关驱动程序,数据源和数据库的相关文档。

1
投票
首先检查文档,以确保您的ojdbc8.jar与数据库服务器版本匹配。 11g,11gR2、12c有ojdbc8.jar的不同版本。

0
投票
    启用语句缓存通过
© www.soinside.com 2019 - 2024. All rights reserved.