چرا رویه های ذخیره شده باید دوباره کامپایل شوند؟

فهرست مطالب:

چرا رویه های ذخیره شده باید دوباره کامپایل شوند؟
چرا رویه های ذخیره شده باید دوباره کامپایل شوند؟
Anonim

توصیه ها. هنگامی که یک رویه برای اولین بار کامپایل یا دوباره کامپایل می شود، طرح پرس و جوی رویه برای وضعیت فعلی پایگاه داده و اشیاء آن بهینه می شود. … دلیل دیگری برای اجبار یک رویه به کامپایل مجدد برای مقابله با رفتار "پارامتر sniffing" در کامپایل رویه است.

آیا باید از رویه های ذخیره شده اجتناب کرد؟

رویه‌های ذخیره شده روش‌های توسعه بد را ترویج می‌کنند، به ویژه آنها از شما می‌خواهند که DRY (خودتان را تکرار نکنید) را نقض کنید، زیرا باید فهرست فیلدها را در خود تایپ کنید. جدول پایگاه داده حداقل نیم دوجین بار یا بیشتر. اگر نیاز به اضافه کردن یک ستون به جدول پایگاه داده خود داشته باشید، این یک درد بزرگ است.

Sp_recompile چیست؟

sp_recompile فقط به دنبال یک شی در پایگاه داده فعلی می گردد. پرس و جوهایی که توسط رویه‌های ذخیره‌شده یا تریگرها و توابع تعریف‌شده توسط کاربر استفاده می‌شوند، تنها زمانی بهینه می‌شوند که کامپایل شوند. … SQL Server به طور خودکار رویه‌های ذخیره‌شده، راه‌اندازها، و توابع تعریف‌شده توسط کاربر را زمانی که انجام این کار سودمند باشد، دوباره کامپایل می‌کند.

راکامپایل مجدد در SQL چه می کند؟

RECOMPILE – را مشخص می کند که پس از اجرای پرس و جو، طرح اجرای پرس و جو ذخیره شده در حافظه پنهان از حافظه نهانحذف می شود. وقتی همان کوئری دوباره اجرا شد، هیچ طرح موجود در حافظه پنهان وجود نخواهد داشت، بنابراین کوئری باید دوباره کامپایل شود.

آیا رویه های ذخیره شده کارآمد هستند؟

این موارد شامل مواردی مانند فضای سفید و حساسیت به حروف کوچک و بزرگ است. احتمال اینکه یک پرس و جو در داخل یک رویه ذخیره شده در مقایسه با پرس و جوی که در کد تعبیه شده است تغییر کند بسیار کمتر است. … به همین دلیل، رویه ذخیره شده ممکن است در واقع سریعتر اجرا شود زیرا قادر به استفاده مجدد از یک طرح کش شده بود.

توصیه شده: