sql >> Databasteknik >  >> RDS >> Sqlserver

SP tar 15 minuter, men samma fråga när den körs ger resultat inom 1-2 minuter

Detta är fotavtrycket för parametersniffning. Se här för en annan diskussion om det; SQL dålig prestanda för exekveringsplan för lagrad procedur - parametersniffning

Det finns flera möjliga korrigeringar, inklusive att lägga till MED RECOMPILE till din lagrade procedur som fungerar ungefär halva tiden.

Den rekommenderade lösningen för de flesta situationer (även om det beror på strukturen på din fråga och sproc) är att INTE använd dina parametrar direkt i dina frågor, men lagra dem hellre i lokala variabler och använd sedan dessa variabler i dina frågor.



  1. MySQL match() mot() - ordning efter relevans och kolumn?

  2. SQL-fråga med MySQL

  3. Kör två SQL-frågor på en php-sida (SET + SELECT)

  4. initiala mysql med Windows api-funktion CreateProcessA