У меня есть приложение Spring Boot REST, которое подключено к базе данных Oracle. Мы используем JDBC, используя JdbcTemplate. Свойства базы данных Oracle получаются через эти 3 настройки application.properties :
spring.datasource.url
spring.datasource.username
spring.datasource.password
Это приложение использует HikariCP. С веб-сайта HikariCP я узнал, что этот пул не кэширует PreparedStatements, потому что драйвер JDBC лучше всего подходит для этого.
Теперь, где и что бы я указал, чтобы обеспечить это:
Что драйвер JDBC Oracle (ojdbc7.jar) кэширует PreparedStatements. Есть ли способ настроить количество PreparedStatements, которые он может кэшировать.
Из https://howtodoinjava.com/java/jdbc/best-practices-to-improve-jdbc-performance/ мы видим, что
Убедитесь, что в вашей базе данных установлен максимальный размер пакета и что драйвер соответствует этому размеру пакета. Для выборки больших наборов результатов это уменьшает общее количество пакетов, отправленных / полученных между драйвером и сервером.
В соответствии с вышесказанным, какие шаги необходимы для
- найти размер пакета Oracle DB Server
- определить, установлен ли для Oracle DB Server максимальный размер пакета
- find установить размер пакета драйвера JDBC Oracle (ojdbc8.jar).
Любой другой (Oracle) совет по оптимизации производительности JDBC приветствуется.