Kāpēc saglabātās procedūras ir jāpārkompilē?

Kāpēc saglabātās procedūras ir jāpārkompilē?
Kāpēc saglabātās procedūras ir jāpārkompilē?
Anonim

Ieteikumi. Kad procedūra tiek apkopota pirmo reizi vai pārkompilēta, procedūras vaicājumu plāns tiek optimizēts pašreizējam datu bāzes un tās objektu stāvoklim. … Vēl viens iemesls, lai piespiestu procedūru atkārtoti kompilēt, ir lai neitralizētu procedūru kompilācijas "parametru smirdēšanas" uzvedību.

Vai ir jāizvairās no saglabātajām procedūrām?

Saglabātās procedūras veicina sliktu izstrādes praksi, jo īpaši tās prasa pārkāpt DRY (Neatkārtojieties), jo jums ir jāievada lauku saraksts datu bāzes tabulu vismaz pusduci reižu vai vairāk. Tas ir ļoti sāpīgi, ja datu bāzes tabulai jāpievieno viena kolonna.

Kas ir Sp_recompile?

sp_recompile meklē objektu tikai pašreizējā datu bāzē. Saglabāto procedūru vai trigeru un lietotāja definēto funkciju izmantotie vaicājumi tiek optimizēti tikai tad, kad tie ir apkopoti. … SQL Server automātiski pārkompilē saglabātās procedūras, trigerus un lietotāja definētas funkcijas, kad tas ir izdevīgi.

Ko dara ar atkārtotu kompilēšanu SQL?

RECOMPILE – norāda, ka pēc vaicājuma izpildes tā kešatmiņā saglabātais vaicājuma izpildes plāns tiek noņemts no kešatmiņas. Kad tas pats vaicājums tiks izpildīts vēlreiz, kešatmiņā esoša plāna nebūs, tāpēc vaicājums būs jāpārkompilē.

Vai saglabātās procedūras ir efektīvas?

Tas ietver tādas lietas kā atstarpes un reģistrjutība. Ir daudz mazāka iespēja, ka saglabātās procedūras vaicājums mainīsies, salīdzinot ar vaicājumu, kas ir iegults kodā. … Šī iemesla dēļ saglabātā procedūra var tikt izpildīta ātrāk, jo tā varēja atkārtoti izmantot kešatmiņā saglabāto plānu.

Ieteicams: