Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Hibernate Query работи бавно в системата, но бързо, когато се стартира директно

От описанието на проблема ви звучи, че се натъквате на подслушване на параметри. По същество SQL Server създава план за заявка въз основа на по-стар набор от стойности на параметри, които са били предадени и които не създават ефективен план за изпълнение за текущо изпълняваната заявка.

Обикновено разрешавам този проблем, като предавам стойностите на параметрите в локални променливи и ги използвам в моята заявка или като използвам OPTION (RECOMPILE). Въпреки това, тъй като използвате Hibernate, обичайното ми решение не е опция за вас. Доколкото разбирам, най-добрият вариант ще бъде да се използва Hibernate за изпълнение на собствена SQL заявка с помощта на repeatStatement() или createSQLQuery(), което за съжаление премахва някои от предимствата на използването на 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. SQL заявка за връщане на последния запис за всеки ID

  2. Намерете дублиращи се записи в таблица с помощта на SQL Server

  3. Променете реда на колоните, показващи се в резултатите, без да променяте реда на избора

  4. Производителност на SQL-Server:Какво е по-бързо, съхранена процедура или изглед?

  5. Как да използвам пространствени знаци за търсене в радиус от пощенски кодове?