sql >> Database teknologi >  >> RDS >> Sqlserver

Lagret procedure tager tid at udføre

Det ligner parametersniffing.

Her er en god forklaring:I Smell a Parameter!

Grundlæggende har sql-serveren cachelagret forespørgselsudførelsesplan for de parametre, den først blev kørt med, så planen er ikke optimal for de nye værdier, du sender. Når du kører forespørgslen direkte, genereres planen på det tidspunkt, så det er derfor, den er hurtig.

Du kan markere proceduren for rekompilering manuelt ved hjælp af sp_rekompilere eller brug Med Recompile-indstillingen i dens definition, så den kompileres ved hver kørsel.




  1. Oracle JDBC:Hvordan ved man, hvilken række der har en unik nøglebegrænsning?

  2. ORA-29902:fejl ved udførelse af ODCIIndexStart()-rutinen ORA-20000:Oracle-tekstfejl:DRG-50901:tekstforespørgselsparser-syntaksfejl på linje 1, kolonne 19

  3. ORA-04091:tabel muterer, trigger/funktion kan muligvis ikke se den fejl under udførelse af oracle trigger

  4. Hvordan gemmer man data i MySql ved hjælp af cygnus?