SQL Server saqlanadigan protseduralar

Saqlangan protseduralar yuqori samaradorlik va xavfsizlikni ta'minlaydi

Microsoft SQL Server Transact-SQL jadvallarini boshqariladigan bloklarga guruhlash orqali ma'lumotlar bazasini yaratish jarayonini soddalashtirish uchun saqlangan jurnali mexanizmini taqdim etadi. Saqlangan protseduralar, samaradorlik va xavfsizlik samarasini topadigan aksariyat SQL Server ishlab chiqaruvchilari tomonidan o'z vaqtida oldingi investitsiyalarga arziydi.

Saqlangan protseduralardan foydalanishning afzalliklari

Nima uchun ishlab chiquvchi o'zida saqlangan tartiblarni ishlatishi kerak?

Bu texnologiyaning asosiy afzalliklari:

Saqlangan protseduralar foydalanuvchi tomonidan belgilangan funktsiyalarga o'xshashdir, biroq farqli farqlar mavjud.

Tuzilishi

Saqlangan protseduralar boshqa dasturlash tillarida ko'rilgan tuzilishlarga o'xshash.

Ular ma'lumotlar ijro etiladigan vaqtda ko'rsatilgan kirish parametrlari shaklida ma'lumotlarni qabul qilishadi. Ushbu kiritish parametrlari (agar amalga oshirilgan bo'lsa) bir natija beradigan bir qator bayonotlarni bajarishda qo'llaniladi. Ushbu natija, yozuvlar majmui, chiqish parametrlari va qaytarish kodi yordamida qo'ng'iroq muhitiga qaytariladi.

Bu og'iz kabi ko'rinishi mumkin, ammo saqlangan tartiblar aslida juda oddiy ekan.

Misol

Keling, ushbu sahifaning pastki qismida ko'rsatilgan inventarizatsiya bilan bog'liq amaliy misolni ko'rib chiqaylik. Ushbu ma'lumotlar real vaqtda yangilanadi va odatiy rahbarlar o'zlarining omborlarida saqlanadigan va jo'natish uchun mavjud bo'lgan mahsulotlarning darajalarini doimiy ravishda nazorat qiladilar. O'tmishda har bir menejer quyidagilarga o'xshash so'rovlarni bajaradi:

Applications Mahsulot, Miqdor
Inventarizatsiyadan
WHERE Warehouse = "FL"

Ushbu SQL Server samarasiz ishlashga olib keldi. Har bir ombor boshqaruvchisi so'rovni bajarganida, ma'lumotlar bazasi serveri so'rovni qayta kompilyatsiya qilish va uni noldan boshlashga majbur bo'ldi. Bundan tashqari, ombor boshqaruvchisiga SQL ma'lumotlarini va jadval ma'lumotlariga kirish uchun tegishli ruxsatnomalarga ega bo'lishni talab qilgan.

Buning o'rniga, operatsiyani o'zida saqlab turiladigan usuli yordamida soddalashtirish mumkin. Sp_GetInventory deb ataladigan protsedura kodi, bu odatdagi omborga inventarizatsiya darajasini oladi.

PROCEDURE CREATE PROCEDURE sp_GetInventory
BARCHA BARCHA (10)
AS
Applications Mahsulot, Miqdor
Inventarizatsiyadan
WHERE Warehouse = @ joylashuv

Keyinchalik Florida ombor boshqaruvchisi quyidagi buyruqlar berib, inventarizatsiya darajasiga kirishlari mumkin:

YoKI sp_GetInventory 'FL'

Nyu-Yorkdagi ombor boshqaruvchisi o'sha joyning inventariga kirish uchun bir xil saqlangan tartibdan foydalanishi mumkin:

YoKI sp_GetInventory 'NY'

To'g'ri, bu oddiy misoldir, ammo bu yerda abstractionning afzalliklarini ko'rish mumkin. Ombor direktori SQLni yoki jarayonning ichki ishini tushunishga hojat yo'q. Performans nuqtai nazaridan, o'zida saqlab amaliyot jarayoni mo''jizalar bilan ishlaydi. SQL Server bir marta bajarish rejasini tuzadi va keyin bajarish vaqtida tegishli parametrlarni qo'shib uni qayta ko'rib chiqadi.

Endi saqlangan tartib-qoidalar haqida bilib oldingiz, u yerdan chiqing va ulardan foydalaning.

Bir necha misolni sinab ko'ring va erishilgan natijalarni o'lchash - siz hayratga tushasiz!

Inventarizatsiya jadvali

ID Mahsulot QXI Miqdor
142 Yashil loviya NY 100
214 No'xat FL 200
825 Makkajo'xori NY 140
512 Lima loviyalari NY 180
491 Pomidorlar FL 80
379 Tarvuz FL 85