Raccomandazioni. Quando una procedura viene compilata per la prima volta o ricompilata, il piano di query della procedura viene ottimizzato per lo stato corrente del database e dei suoi oggetti. … Un altro motivo per forzare la ricompilazione di una procedura è per contrastare il comportamento di "sniffing dei parametri" della compilazione della procedura.
Le stored procedure dovrebbero essere evitate?
Stored procedure promuovere cattive pratiche di sviluppo, in particolare richiedono di violare DRY (Non ripetere te stesso), dal momento che devi digitare l'elenco dei campi nel tuo tabella del database almeno una mezza dozzina di volte o più. Questo è un enorme dolore se devi aggiungere una singola colonna alla tabella del tuo database.
Cos'è Sp_recompile?
sp_recompile cerca un oggetto solo nel database corrente. Le query utilizzate dalle stored procedure, o trigger e dalle funzioni definite dall'utente vengono ottimizzate solo al momento della compilazione. … SQL Server ricompila automaticamente stored procedure, trigger e funzioni definite dall'utente quando è opportuno farlo.
Cosa fa con la ricompilazione in SQL?
RICIMPILA – specifica che dopo l'esecuzione della query, il suo piano di esecuzione della query memorizzato nella cache viene rimosso dalla cache. Quando la stessa query viene eseguita di nuovo, non ci sarà alcun piano esistente nella cache, quindi la query dovrà essere ricompilata.
Le stored procedure sono efficienti?
Questo include cose come lo spazio bianco e la distinzione tra maiuscole e minuscole. È molto meno probabile che una query all'interno di una stored procedure cambi rispetto a una query incorporata nel codice. … Per questo motivo, la procedura memorizzata potrebbe infatti essere eseguita più velocemente perché è stata in grado di riutilizzare un piano memorizzato nella cache.