A teljesítményhangolás a Spring Bootban jórészt az adatbázis-határról szól: connection pooling, caching és az N+1 lekérdezési probléma kiiktatása. Előbb mérj (Micrometer + Actuator metrikák), aztán támadd a legnagyobb költséget.
Az N+1 probléma — az első számú JPA-gyilkos
A lazy asszociációk parentenként egy lekérdezést indítanak, majd gyerekenkénti hozzáférésenként még egyet:
List<Order> orders = orderRepo.findAll();
(Order o : orders) {
o.getItems().size();
}
