Kodėl saugomas procedūras reikia kompiliuoti iš naujo?

Turinys:

Kodėl saugomas procedūras reikia kompiliuoti iš naujo?
Kodėl saugomas procedūras reikia kompiliuoti iš naujo?
Anonim

Rekomendacijos. Kai procedūra sukompiliuojama pirmą kartą arba perkompiliuojama, procedūros užklausos planas optimizuojamas pagal esamą duomenų bazės ir jos objektų būseną. … Kita priežastis priversti procedūrą kompiliuoti iš naujo yra neleisti „parametrų uostymui“procedūrų sudarymo metu.

Ar reikėtų vengti saugomų procedūrų?

Išsaugotos procedūros propaguoja blogą kūrimo praktiką, ypač jos reikalauja pažeisti DRY (nekartokite savęs), nes turite įvesti laukų sąrašą duomenų bazės lentelė pusšimtį ar daugiau kartų. Tai didžiulis skausmas, jei reikia pridėti vieną stulpelį prie duomenų bazės lentelės.

Kas yra Sp_recompile?

sp_recompile ieško objekto tik dabartinėje duomenų bazėje. Saugomų procedūrų arba trigerių ir vartotojo nustatytų funkcijų naudojamos užklausos optimizuojamos tik tada, kai jos yra sukompiliuojamos. … SQL serveris automatiškai perkompiliuoja išsaugotas procedūras, paleidiklius ir vartotojo nustatytas funkcijas, kai tai naudinga.

Ką daro perkompiliavimas SQL?

RECOMPILE – nurodo, kad įvykdžius užklausą jos užklausos vykdymo planas, saugomas talpykloje, būtų pašalintas iš talpyklos. Kai ta pati užklausa bus vykdoma dar kartą, talpykloje nebus plano, todėl užklausą reikės kompiliuoti iš naujo.

Ar saugomos procedūros yra veiksmingos?

Tai apima tokius dalykus kaip tarpas ir didžiųjų ir mažųjų raidžių jautrumas. Daug mažesnė tikimybė, kad užklausa saugomos procedūros viduje pasikeis, palyginti su užklausa, kuri yra įterpta į kodą. … Dėl šios priežasties išsaugota procedūra iš tikrųjų gali būti vykdoma greičiau, nes ji galėjo pakartotinai panaudoti talpykloje saugomą planą.

Rekomenduojamas: