Prečo je potrebné prekompilovať uložené procedúry?

Obsah:

Prečo je potrebné prekompilovať uložené procedúry?
Prečo je potrebné prekompilovať uložené procedúry?
Anonim

Odporúčania. Keď sa procedúra skompiluje prvýkrát alebo prekompiluje, plán dotazov procedúry sa optimalizuje pre aktuálny stav databázy a jej objektov. … Ďalším dôvodom na vynútenie rekompilácie procedúry je vyrovnanie „sniffovania parametrov“pri kompilácii procedúry.

Je potrebné sa vyhnúť uloženým procedúram?

Uložené procedúry podporujú zlé vývojové praktiky, najmä vyžadujú, aby ste porušili DRY (Neopakujte sa), pretože musíte zadať zoznam polí vo svojom databázovú tabuľku aspoň pol tucta alebo viackrát. Toto je obrovská bolesť, ak potrebujete pridať jeden stĺpec do tabuľky databázy.

Čo je Sp_recompile?

sp_recompile hľadá objekt iba v aktuálnej databáze. Dotazy používané uloženými procedúrami alebo spúšťačmi a používateľom definované funkcie sú optimalizované len vtedy, keď sú kompilované. … SQL Server automaticky prekompiluje uložené procedúry, spúšťače a používateľom definované funkcie, keď je to výhodné.

Čo robí rekompilácia v SQL?

RECOMPILE – určuje, že po vykonaní dotazu sa jeho plán vykonania dotazu uložený vo vyrovnávacej pamäti odstráni z vyrovnávacej pamäte. Keď sa rovnaký dotaz vykoná znova, vo vyrovnávacej pamäti nebude existovať žiadny plán, takže dotaz bude potrebné prekompilovať.

Sú uložené procedúry efektívne?

Sem patria veci ako biele miesta a rozlišovanie malých a veľkých písmen. Je oveľa menej pravdepodobné, že sa dotaz vnútri uloženej procedúry zmení v porovnaní s dotazom, ktorý je vložený do kódu. … Z tohto dôvodu sa uložená procedúra môže v skutočnosti vykonávať rýchlejšie, pretože dokázala znova použiť plán uložený vo vyrovnávacej pamäti.

Odporúča: