sql >> Database >  >> RDS >> Sqlserver

Hibernate Query wordt traag uitgevoerd in het systeem, maar snel wanneer deze rechtstreeks wordt uitgevoerd

Uit de beschrijving van uw probleem lijkt het alsof u parametersniffing tegenkomt. In wezen maakt SQL Server een queryplan op basis van een oudere set parameterwaarden die zijn doorgegeven en die geen effectief uitvoeringsplan maken voor de momenteel lopende query.

Meestal los ik dit probleem op door de parameterwaarden door te geven aan lokale variabelen en die in mijn query te gebruiken of door OPTION (RECOMPILE) te gebruiken. Aangezien u echter Hibernate gebruikt, is mijn gebruikelijke oplossing geen optie voor u. Zoals ik het begrijp, is de beste optie om Hibernate te gebruiken om een ​​native SQL-query uit te voeren met behulp van prepareStatement() of createSQLQuery(), wat helaas enkele van de voordelen van het gebruik van Hibernate wegneemt.



  1. Hoe door komma's gescheiden waarden doorgeven aan de opgeslagen procedure in MySql?

  2. Waarom Asp.net MVC4 de cookieloze opslag van SQL Server Session-status niet kan gebruiken?

  3. PHP &MySQL:Opgeslagen TIMESTAMP converteren naar de lokale tijdzone van de gebruiker

  4. SQL om een ​​lijst met jaren sinds een specifiek jaar terug te geven