sql >> Database teknologi >  >> RDS >> Mysql

Unødvendige forespørgsler i Hibernate - MySql

AFAIK for at fjerne disse ekstra forespørgsler, fjern alle dine modifikatorer til din @Transactional anmærkninger. Den pris, du betaler for at begrænse dit isolationsniveau til READ_COMMITED er, at Hibernate bliver nødt til at udføre ekstra forespørgsler for at afgøre, om databasen er i en beskidt tilstand. I 90 % af tilfældene er disse modifikatorer unødvendige. Hibernate er meget god til at sikre, at dine data bliver rene, uden at du forsøger at tilføje disse begrænsninger.

Hvis det er absolut nødvendigt for dig at sikre, at din isolation er READ_COMMITTED , du kan ikke gøre noget ved de ekstra forespørgsler.

Flytter til en StatelessSession bare at slippe af med disse forespørgsler er en dårlig idé af præcis den grund, du påpegede. Virkelig den eneste gyldige grund til at bruge en StatelessSession er til store batch-indsættelser af data, som du ved ikke vil blive læst, mens indsættelsen finder sted.




  1. Forhindrer tilstødende/overlappende poster med EXCLUDE i PostgreSQL

  2. Returnerer resultat selv for elementer i IN-listen, der ikke findes i tabellen

  3. Returner værdi fra sql-script til shell-script

  4. Binding af parametre til Oracle Dynamic SQL