روش های ذخیره شده مزایای بهره وری و امنیت بالا را ارائه می دهد
مایکروسافت SQL Server مکانیسم روش ذخیره شده را فراهم می کند تا فرآیند توسعه پایگاه داده ها را با گروه بندی عبارات Transact-SQL به بلوک های قابل کنترل فراهم کند. روشهای نگهداری شده توسط بسیاری از توسعه دهندگان SQL Server که مزایای بهره وری و امنیت آنها را به دست می آورند، ارزشمند هستند که سرمایه گذاری های اولیه را در زمان انجام می دهند.
مزایای استفاده از روش های ذخیره شده
چرا یک توسعه دهنده از روش های ذخیره شده استفاده می کند؟
در اینجا مزایای کلیدی این فن آوری عبارتند از:
- اجرای پیش ساخته شده: SQL Server هر بار یک بار ذخیره شده و سپس برنامه اجرا را مجددا راه اندازی می کند. این باعث افزایش کارآیی فوق العاده ای می شود که روش های ذخیره شده به طور مکرر فراخوانی می شود.
- کاهش ترافیک سرویس گیرنده / سرور: اگر پهنای باند شبکه در محیط شما نگرانی داشته باشد، خوشحال خواهید شد که بدانید که روش های ذخیره شده می تواند پرس و جو های طولانی مدت SQL را به یک خط که بر روی سیم منتقل می شود را کاهش دهد.
- استفاده مجدد از کد و انتزاع برنامه نویسی: استفاده از روش های ذخیره شده توسط چندین کاربر و برنامه های مشتری می تواند مورد استفاده قرار گیرد. اگر از آنها به صورت برنامه ریزی شده استفاده کنید، چرخه توسعه یافتن زمان کمتری پیدا می کند.
- کنترل های امنیتی پیشرفته: شما می توانید مجوز کاربران برای اجرای یک روش ذخیره شده را مستقل از مجوزهای جدول پایه اعطا کنید.
روش های ذخیره شده شبیه به توابع تعریف شده توسط کاربر هستند، اما تفاوت های ظریف وجود دارد.
ساختار
روش های ذخیره شده شبیه ساختارهایی است که در سایر زبان های برنامه نویسی دیده می شود.
آنها داده ها را به صورت پارامترهای ورودی که در زمان اجرا تعیین می شوند، می پذیرند. این پارامترهای ورودی (در صورت پیاده سازی) در اجرای یک سری اظهارات مورد استفاده قرار می گیرند که برخی از نتایج را تولید می کنند. این نتیجه به وسیله استفاده از یک رکورد، پارامترهای خروجی و یک کد بازگشتی به محیط فراخوانی بازگشته است.
این ممکن است شبیه یک لقمه باشد، اما شما متوجه خواهید شد که روش های ذخیره شده در واقع بسیار ساده هستند.
مثال
بیایید نگاهی به مثال عملی مرتبط با جدول با نام موجودی که در پایین این صفحه نمایش داده شده است. این اطلاعات در زمان واقعی به روز می شود و مدیران انبار به طور مداوم سطح محصولات ذخیره شده در انبار خود را بررسی می کنند و برای حمل و نقل در دسترس هستند. در گذشته، هر مدیر پرس و جو را مشابه موارد زیر اجرا می کرد:
انتخاب محصول، مقدار
از موجودی
جایی که انبار = 'FL'
این باعث عملکرد ناکارآمد در SQL Server شد. هر بار که یک مدیر انبار، پرس و جو را اجرا کرد، سرور پایگاه داده مجبور شد مجددا پرس و جو و آن را از ابتدا اجرا کند. همچنین مدیر انبار نیاز به دانش SQL و مجوزهای مناسب برای دسترسی به اطلاعات جدول داشت.
در عوض، فرایند را می توان از طریق استفاده از یک روش ذخیره شده ساده کرد. در اینجا کد برای یک روش به نام sp_GetInventory است که سطح موجودی را برای یک انبار داده شده بازیابی می کند.
ایجاد پروژۀ sp_GetInventory
ocation varchar (10)
مانند
انتخاب محصول، مقدار
از موجودی
جایی که انبار = @ محل
مدیر انبار فلوریدا می تواند با صدور فرمان به سطوح موجودی دسترسی داشته باشد:
EXECUTE sp_GetInventory 'FL'
مدیر انبار نیویورک می تواند از همان روش ذخیره شده برای دسترسی به موجودی آن منطقه استفاده کند:
EXECUTE sp_GetInventory 'NY'
بدست آمده، این یک مثال ساده است، اما مزایای انتزاع را می توان در اینجا مشاهده کرد. مدیر انبار بدون نیاز به درک SQL و عملکرد درونی روش نیست. از منظر عملکرد، روش ذخیره شده کارهای عجیب و غریب انجام می دهد. SQL Server یک برنامه اجرایی را ایجاد می کند و سپس آن را با وصل کردن پارامترهای مناسب در زمان اجرا مجددا مجددا راه اندازی می کند.
اکنون که مزایای روشهای ذخیره شده را آموخته اید، بیرون بروید و از آنها استفاده کنید.
چند مثال را امتحان کنید و پیشرفت های عملکردی را که به دست آورده اید اندازه گیری کنید، شگفت زده خواهید شد!
جدول موجودی
شناسه | تولید - محصول | انبار | مقدار |
142 | لوبیا سبز | نیویورک | 100 |
214 | نخود فرنگی | FL | 200 |
825 | ذرت | نیویورک | 140 |
512 | لوبیا لوبیا | نیویورک | 180 |
491 | گوجه فرنگیها | FL | 80 |
379 | هندوانه | FL | 85 |