Recomanacions. Quan un procediment es compila per primera vegada o es recompila, el pla de consulta del procediment s'optimitza per a l'estat actual de la base de dades i els seus objectes. … Un altre motiu per forçar la recompilació d'un procediment és per contrarestar el comportament d'"sniffing de paràmetres" de la compilació de procediments.
S'han d'evitar els procediments emmagatzemats?
Procediments emmagatzemats promocionen males pràctiques de desenvolupament, en particular requereixen que infringeixis DRY (No et repeteixis), ja que has d'escriure la llista de camps del teu taula de base de dades mitja dotzena de vegades o més almenys. Això és un dolor enorme si necessiteu afegir una sola columna a la taula de la vostra base de dades.
Què és Sp_recompile?
sp_recompile cerca un objecte només a la base de dades actual. Les consultes utilitzades pels procediments emmagatzemats, o activadors, i les funcions definides per l'usuari només s'optimitzen quan es compilen. … SQL Server recompila automàticament els procediments emmagatzemats, els activadors i les funcions definides per l'usuari quan és avantatjós fer-ho.
Què fa amb la recompilació a SQL?
RECOMPILE: especifica que després d'executar la consulta, el seu pla d'execució de la consulta emmagatzemat a la memòria cau s'elimina de la memòria cau. Quan es torni a executar la mateixa consulta, no hi haurà cap pla existent a la memòria cau, de manera que la consulta s'haurà de recompilar.
Els procediments emmagatzemats són eficients?
Això inclou coses com l'espai en blanc i la distinció entre majúscules i minúscules. És molt menys probable que una consulta dins d'un procediment emmagatzemat canviï en comparació amb una consulta incrustada al codi. … Per això, el procediment emmagatzemat, de fet, pot estar executant-se més ràpid perquè va poder reutilitzar un pla en memòria cau.