SQL سرور ذخیره شده روش

روش های ذخیره شده مزایای بهره وری و امنیت بالا را ارائه می دهد

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

مزایای استفاده از روش های ذخیره شده

چرا یک توسعه دهنده از روش های ذخیره شده استفاده می کند؟

در اینجا مزایای کلیدی این فن آوری عبارتند از:

روش های ذخیره شده شبیه به توابع تعریف شده توسط کاربر هستند، اما تفاوت های ظریف وجود دارد.

ساختار

روش های ذخیره شده شبیه ساختارهایی است که در سایر زبان های برنامه نویسی دیده می شود.

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

این ممکن است شبیه یک لقمه باشد، اما شما متوجه خواهید شد که روش های ذخیره شده در واقع بسیار ساده هستند.

مثال

بیایید نگاهی به مثال عملی مرتبط با جدول با نام موجودی که در پایین این صفحه نمایش داده شده است. این اطلاعات در زمان واقعی به روز می شود و مدیران انبار به طور مداوم سطح محصولات ذخیره شده در انبار خود را بررسی می کنند و برای حمل و نقل در دسترس هستند. در گذشته، هر مدیر پرس و جو را مشابه موارد زیر اجرا می کرد:

انتخاب محصول، مقدار
از موجودی
جایی که انبار = '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