sql >> Database >  >> RDS >> Sqlserver

Opgeslagen procedure kost tijd in uitvoering

Lijkt op parameter snuiven.

Hier is een mooie uitleg:Ik ruik een parameter!

Kortom, de sql-server heeft een query-uitvoeringsplan in de cache opgeslagen voor de parameters waarmee het voor het eerst werd uitgevoerd, dus het plan is niet optimaal voor de nieuwe waarden die u doorgeeft. Wanneer u de query rechtstreeks uitvoert, wordt het plan op dat moment gegenereerd, dus daarom is het snel.

U kunt de procedure voor hercompilatie handmatig markeren met sp_recompile of gebruik de optie With Recompile in zijn definitie, zodat deze bij elke run wordt gecompileerd.




  1. Lege array als standaardwaarde voor PostgreSQL-arraykolom

  2. Hoe gegevens uit een andere tabel te halen met behulp van kolomgegevens uit een andere tabel?

  3. MySQL-database importeren in een MS SQL Server

  4. Spoolopdracht:voer geen SQL-instructie uit naar bestand