Mam aplikację REST Spring Boot połączoną z bazą danych Oracle. Używamy JDBC za pomocą JdbcTemplate. Właściwości bazy danych Oracle są uzyskiwane za pomocą następujących 3 ustawień application.properties :
spring.datasource.url
spring.datasource.username
spring.datasource.password
Ta aplikacja korzysta z HikariCP. Z witryny HikariCP dowiedziałem się, że ta pula nie buforuje PreparedStatements, ponieważ sterownik JDBC jest najlepszy do tego celu.
Teraz, gdzie i co chciałbym określić, aby zapewnić:
Sterownik Oracle JDBC (ojdbc7.jar) buforuje PreparedStatements. Czy istnieje sposób na dostosowanie liczby PreparedStatements, które może buforować.
Od https://howtodoinjava.com/java/jdbc/best-practices-to-improve-jdbc-performance/ widzimy, że
Upewnij się, że baza danych jest ustawiona na maksymalny rozmiar pakietu i że sterownik odpowiada temu rozmiarowi pakietu. W przypadku pobierania większych zestawów wyników zmniejsza to całkowitą liczbę pakietów wysłanych / odebranych między sterownikiem a serwerem.
Zgodnie z powyższym, jakie kroki należy wykonać
- znajdź rozmiar pakietu Oracle DB Server
- sprawdź, czy Oracle DB Server jest ustawiony na maksymalny rozmiar pakietu
- znajdź ustaw rozmiar pakietu sterownika JDBC Oracle (ojdbc8.jar).
Doceniamy każdą inną wskazówkę dotyczącą optymalizacji wydajności JDBC (Oracle).