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

Заявката се изпълнява бързо, но работи бавно в съхранената процедура

Добре, и преди сме имали подобни проблеми.

Начинът, по който поправихме това, беше като направихме локални параметри вътре в SP, като това

DECLARE @LOCAL_Contract_ID int, 
        @LOCAL_dt_From smalldatetime, 
        @LOCAL_dt_To smalldatetime, 
        @LOCAL_Last_Run_Date datetime

SELECT  @LOCAL_Contract_ID = @Contract_ID, 
        @LOCAL_dt_From = @dt_From, 
        @LOCAL_dt_To = @dt_To, 
        @LOCAL_Last_Run_Date = @Last_Run_Date

След това използваме локалните параметри вътре в SP вместо параметрите, които са били предадени.

Това обикновено решаваше проблема за нас.

Вярваме, че това се дължи на подслушване на параметри, но нямаме никакви доказателства, за съжаление... X-)

РЕДАКТИРАНЕ:

Разгледайте Различни подходи за коригиране на снифинг на параметри на SQL Server за някои проницателни примери, обяснения и поправки.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. BUK INSERT с непоследователен брой колони

  2. Трикове за това как да изпълните низ във функция в Sql Server

  3. Използване на псевдоними в клаузата Where или алтернативна опция?

  4. SQL Server:Заменете невалидни XML знаци от поле VARCHAR(MAX).

  5. Какво означава символът SQL # и как се използва?