Защо съхранените процедури трябва да бъдат прекомпилирани?

Защо съхранените процедури трябва да бъдат прекомпилирани?
Защо съхранените процедури трябва да бъдат прекомпилирани?
Anonim

Препоръки. Когато процедурата се компилира за първи път или се компилира повторно, планът на заявката на процедурата се оптимизира за текущото състояние на базата данни и нейните обекти. … Друга причина да се принуди процедурата да се компилира е за противодействие на поведението на "смъркане на параметри" при компилацията на процедурата.

Трябва ли да се избягват съхранените процедури?

Съхранени процедури насърчават лоши практики за разработка, по-специално те изискват от вас да нарушите DRY (Не се повтаряйте), тъй като трябва да въведете списъка с полета във вашия таблица с база данни поне половин дузина пъти или повече. Това е огромна болка, ако трябва да добавите една колона към вашата таблица на базата данни.

Какво е Sp_recompile?

sp_recompile търси обект само в текущата база данни. Заявките, използвани от съхранените процедури или тригери, и дефинираните от потребителя функции се оптимизират само когато са компилирани. … SQL Server автоматично прекомпилира съхранени процедури, тригери и дефинирани от потребителя функции, когато е изгодно да направи това.

Какво прави с прекомпилирането в SQL?

RECOMPILE – указва, че след като заявката бъде изпълнена, нейният план за изпълнение на заявката, съхранен в кеша, се премахва от кеша. Когато същата заявка се изпълни отново, няма да има съществуващ план в кеша, така че заявката ще трябва да бъде прекомпилирана.

Ефективни ли са съхранените процедури?

Това включва неща като бяло пространство и чувствителност към малки и големи букви. Много по-малко вероятно е заявка вътре в съхранена процедура да се промени в сравнение със заявка, която е вградена в код. … Поради това съхранената процедура всъщност може да се изпълнява по-бързо, защото е в състояние да използва повторно кеширан план.

Препоръчано: