Varför behöver lagrade procedurer kompileras om?

Varför behöver lagrade procedurer kompileras om?
Varför behöver lagrade procedurer kompileras om?
Anonim

Rekommendationer. När en procedur kompileras för första gången eller kompileras om, optimeras procedurens frågeplan för det aktuella tillståndet för databasen och dess objekt. … Ett annat skäl till att tvinga en procedur att kompilera om är för att motverka "parametersnuffning"-beteendet vid procedurkompilering.

Bör lagrade procedurer undvikas?

Lagrade procedurer främjar dåliga utvecklingsmetoder, särskilt kräver de att du bryter mot DRY (upprepa inte dig själv), eftersom du måste skriva ut listan med fält i din databastabell ett halvdussin gånger eller mer åtminstone. Detta är en enorm smärta om du behöver lägga till en enda kolumn i din databastabell.

Vad är Sp_recompile?

sp_recompile söker endast efter ett objekt i den aktuella databasen. Frågorna som används av lagrade procedurer, eller triggers, och användardefinierade funktioner optimeras endast när de kompileras. … SQL Server kompilerar automatiskt lagrade procedurer, triggers och användardefinierade funktioner när det är fördelaktigt att göra detta.

Vad gör omkompilering i SQL?

RECOMPILE – anger att efter att frågan har körts tas dess exekveringsplan för förfrågning som lagras i cachen bort från cachen. När samma fråga körs igen kommer det inte att finnas någon befintlig plan i cachen, så frågan måste kompileras om.

Är lagrade procedurer effektiva?

Detta inkluderar saker som blanksteg och skiftlägeskänslighet. Det är mycket mindre troligt att en fråga inuti en lagrad procedur kommer att ändras jämfört med en fråga som är inbäddad i kod. … På grund av detta kan den lagrade proceduren faktiskt köras snabbare eftersom den kunde återanvända en cachad plan.