sql >> Databasteknik >  >> RDS >> Sqlserver

Lagrad procedur tar tid att utföra

Ser ut som parametersniffning.

Här är en trevlig förklaring:I Smell a Parameter!

I grund och botten har sql-servern cachad frågekörningsplan för de parametrar som den först kördes med, så planen är inte optimal för de nya värdena du skickar. När du kör frågan direkt genereras planen i det ögonblicket så det är därför det går snabbt.

Du kan markera proceduren för omkompilering manuellt med sp_recompile eller använd alternativet With Recompile i dess definition så att det kompileras vid varje körning.




  1. Hur man skapar Not Null-begränsning på kolumn i SQL Server-tabell - SQL Server / T-SQL självstudie del 51

  2. python MySQLDB-fråga timeout

  3. Hur lägger man till ett rel-attribut i varje länk (a href) med hjälp av php?

  4. Tvinga InnoDB att kontrollera främmande nycklar på ett eller flera tabeller igen?