Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Hibernate Query działa wolno w systemie, ale szybko, gdy jest uruchamiane bezpośrednio

Z opisu problemu wynika, że ​​masz do czynienia z podsłuchiwaniem parametrów. Zasadniczo SQL Server tworzy plan zapytania na podstawie starszego zestawu wartości parametrów, które zostały przekazane i które nie tworzą efektywnego planu wykonania dla aktualnie uruchomionego zapytania.

Zazwyczaj rozwiązuję ten problem, przekazując wartości parametrów do zmiennych lokalnych i używając tych w moim zapytaniu lub używając OPCJI (RECOMPILE). Jednak ponieważ używasz Hibernate, moje zwykłe rozwiązanie nie jest dla ciebie opcją. Jak rozumiem, najlepszą opcją będzie użycie Hibernate do uruchomienia natywnego zapytania SQL przy użyciu metody PrepareStatement() lub createSQLQuery(), co niestety usuwa niektóre korzyści wynikające z używania Hibernate.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zwrócić ciąg w odwrotnej kolejności za pomocą SQL Server – REVERSE()

  2. SQL Server zlicza liczbę odrębnych wartości w każdej kolumnie tabeli

  3. Jak połączyć wiele wierszy LineString w jedną kolekcję wierszy

  4. Instrukcja wielokrotnej aktualizacji w SQL Server MERGE

  5. Wyszukaj tekst w procedurze składowanej w SQL Server