Պահված ընթացակարգերը մատուցում են բարձր արդյունավետություն եւ անվտանգություն
Microsoft SQL Server- ը ապահովում է պահվող ընթացակարգի մեխանիզմ, հեշտացնել տվյալների բազայի մշակման գործընթացը, խմբավորելով Transact-SQL- ի հայտարարությունները կառավարելի բլոկների մեջ: Պահված ընթացակարգերը գնահատվում են շատ SQL Server- ի մշակողների կողմից, ովքեր գտնում են արդյունավետության եւ անվտանգության օգուտները, որոնք նրանք հնձում են լավ ժամանակի ընթացքում կանխավճարային ներդրումների համար:
Պահված ընթացակարգերի օգտագործման առավելությունները
Ինչու պետք է մշակողը պահպանի ընթացակարգերը:
Ահա այս տեխնոլոգիայի հիմնական օգուտները.
- Precompiled կատարումը: SQL Server- ը պարունակում է յուրաքանչյուր պահված ընթացակարգ եւ մեկ անգամ վերակազմավորում է կատարման պլանը: Սա հանգեցնում է հսկայական կատարողականի խթանմանը, երբ պահվում են ընթացակարգերը `կրկնվում:
- Կրճատված հաճախորդ / սերվերի երթեւեկություն. Եթե ցանցի թողունակությունը ձեր միջավայրում մտահոգություն է, ուրախ կլինեք սովորել, որ պահված ընթացակարգերը կարող են նվազեցնել SQL- ի երկար հարցումները մեկ տողում, որը փոխանցվում է մետաղալարով:
- Կոդի արդյունավետ օգտագործումը եւ ծրագրավորման լուծումը: Պահված ընթացակարգերը կարող են օգտագործվել բազմակի օգտագործողների եւ հաճախորդների ծրագրերի կողմից: Եթե դուք օգտագործում եք դրանք պլանավորված ձեւով, դուք կգտնեք զարգացման ցիկլը ավելի քիչ ժամանակ է պահանջում:
- Ընդլայնված անվտանգության վերահսկում. Դուք կարող եք օգտվողներին թույլատրել թույլտվություն ստանալու համար անհրաժեշտ ընթացակարգեր իրականացնել:
Պահված ընթացակարգերը նման են օգտագործողի կողմից սահմանված գործառույթներին, սակայն կան նուրբ տարբերություններ:
Կառուցվածք
Պահված ընթացակարգերը նման են այլ ծրագրավորման լեզուներով տեսած կառուցվածքներին:
Նրանք ընդունում են տվյալների ներածման պարամետրերի ձեւ, որոնք նշված են կատարման ժամանակ: Այս ներդրման պարամետրերը (եթե իրականացվում են) օգտագործվում են մի շարք հայտարարությունների կատարման արդյունքում, որոնք արդյունք են տալիս: Այս արդյունքը վերադարձվում է զանգահարող միջավայրի `գրառումների, արտադրանքի պարամետրերի եւ վերադարձ կոդը օգտագործելու միջոցով:
Դա կարող է հնչյուններ հնչեցնել, բայց դուք կգտնեք, որ պահված ընթացակարգերը իրականում շատ պարզ են:
Օրինակ
Եկեք նայենք գործնական օրինակին, որը վերաբերում է սեղանի այս էջի ներքեւում նշված գույքագրմանը: Այս տեղեկատվությունը թարմացվում է իրական ժամանակում, եւ պահեստային մենեջերները մշտապես ստուգում են իրենց պահեստում պահվող արտադրանքի մակարդակը եւ առաքման համար մատչելի: Նախկինում յուրաքանչյուր մենեջեր առաջադրվելու էր հետեւյալ հարցերի նման:
SELECT ապրանքը, քանակությունը
Գրապահոցից
WHERE Պահեստ = 'FL'
Սա հանգեցրել է SQL Server- ի անարդյունավետ կատարմանը: Ամեն պահեստային մենեջերը կատարում է հարցումը, տվյալների բազայի սերվերը ստիպված էր վերահղել հարցումը եւ զրոյից կատարել այն: Այն նաեւ պահանջեց պահեստային մենեջերին ունենալ SQL- ի գիտելիքներ եւ համապատասխան թույլտվություններ, սեղանի տեղեկատվության համար:
Փոխարենը, գործընթացը կարող է պարզեցվել պահված ընթացակարգի միջոցով: Ահա sp_GetInventory անունով ընթացակարգի կոդը, որը վերցնում է տվյալ պահեստի գույքագրման մակարդակները:
Ստեղծել PROCEDURE sp_GetInventory
@ տեղը varchar (10)
Ա
SELECT ապրանքը, քանակությունը
Գրապահոցից
WHERE Warehouse = տեղակայումը
Ֆլորիդայի պահեստների կառավարիչը կարող է մուտք գործել գույքագրման մակարդակ `հրահանգ տալով,
Կատարել sp_GetInventory 'FL'
Նյու Յորքի պահեստի կառավարիչը կարող է օգտագործել նույն պահեստային ընթացակարգը `այդ տարածքի գույքագրման համար:
Կատարել sp_GetInventory 'NY'
Ճիշտ է, սա պարզ օրինակ է, բայց այստեղ կարելի է տեսնել Աբստրակցիային օգուտները: Պահեստի կառավարիչը կարիք չունի հասկանալ SQL- ի կամ ընթացակարգի ներքին աշխատանքը: Իրականացման տեսանկյունից պահվող ընթացակարգը հրաշքներ է գործում: SQL Server- ը ստեղծում է կատարման պլան մեկ անգամ, այնուհետեւ reutilizes it `կատարելով համապատասխան պարամետրերի կատարման ժամանակ:
Այժմ, երբ դուք սովորել եք պահպանվող ընթացակարգերի առավելությունները, դուրս գալ այնտեղից եւ օգտագործել դրանք:
Փորձեք մի քանի օրինակ եւ չափեք ձեռք բերված կատարողական սարքավորումները, դուք զարմանում եք:
Գրապահոց աղյուսակ
ID- ն | Ապրանք | Պահեստ | Քանակ |
142 | Կանաչ լոբի | NY | 100 |
214 | Peas | Ֆլ | 200 |
825 | Եգիպտացորեն | NY | 140 |
512 | Լիմայի լոբի | NY | 180 |
491 | Լոլիկ | Ֆլ | 80 |
379 | Ձմերուկ | Ֆլ | 85 |