Utaratibu uliohifadhiwa Kutoa Ufanisi wa Juu na Faida za Usalama
Microsoft SQL Server hutoa utaratibu wa utaratibu uliohifadhiwa ili kurahisisha mchakato wa maendeleo ya database kwa kuanzisha taarifa za Transact-SQL kwenye vitalu vinavyoweza kudhibitiwa. Taratibu zilizohifadhiwa zinathaminiwa na waendelezaji wengi wa SQL Server ambao wanapata ufanisi na faida za usalama wanazovuna zinathamini uwekezaji wa mbele kwa wakati.
Faida za kutumia taratibu zilizohifadhiwa
Kwa nini msanidi programu anatumia taratibu zilizohifadhiwa?
Hapa kuna faida muhimu za teknolojia hii:
- Utekelezaji wa Precompiled: SQL Server inakusanya utaratibu kila kuhifadhiwa mara moja na kisha hutumia mpango wa utekelezaji. Hii inaboresha ufanisi mkubwa wa utendaji wakati taratibu za kuhifadhiwa huitwa mara kwa mara.
- Kupunguza trafiki ya mteja / server: Kama bandwidth mtandao ni wasiwasi katika mazingira yako, utakuwa na furaha ya kujifunza kuwa taratibu zilizohifadhiwa zinaweza kupunguza maswali mingi SQL kwenye mstari mmoja unaotumiwa juu ya waya.
- Utekelezaji wa ufanisi wa msimbo na programu: Maagizo yaliyohifadhiwa yanaweza kutumiwa na watumiaji wengi na programu za mteja. Ikiwa utazitumia kwa namna iliyopangwa, utapata mzunguko wa maendeleo unachukua muda mdogo.
- Uimarishaji wa udhibiti wa usalama: Unaweza kutoa idhini ya watumiaji kutekeleza utaratibu uliohifadhiwa kwa kujitegemea kwa vibali vya meza ya msingi.
Taratibu zilizohifadhiwa ni sawa na kazi zilizoelezwa na mtumiaji, lakini kuna tofauti za hila.
Uundo
Taratibu zilizohifadhiwa zimefanana na ujenzi unaoonekana katika lugha zingine za programu.
Wanakubali data kwa namna ya vigezo vya pembejeo ambazo zinaelezwa wakati wa kutekeleza. Vigezo vya pembejeo (ikiwa inatekelezwa) hutumiwa katika utekelezaji wa mfululizo wa kauli zinazozalisha matokeo fulani. Matokeo haya yanarudi kwenye mazingira ya wito kupitia matumizi ya rekodi, vigezo vya pato na msimbo wa kurudi.
Hiyo inaweza kuonekana kama kinywa, lakini utapata taratibu zilizohifadhiwa kwa kweli ni rahisi sana.
Mfano
Hebu tuangalie mfano wa vitendo kuhusiana na meza inayoitwa hesabu iliyoonyeshwa chini ya ukurasa huu. Habari hii inasasishwa kwa muda halisi, na wasimamizi wa ghala mara kwa mara wanaangalia kiwango cha bidhaa zilizohifadhiwa katika ghala zao na zinaweza kupatikana. Katika siku za nyuma, kila meneja angeweza kuendesha maswali sawa na yafuatayo:
Chagua Bidhaa, Wingi
Kutoka Inventory
NINI Hifadhi = 'FL'
Hii ilisababisha utendaji usiofaa katika SQL Server. Kila wakati meneja wa ghala alichukua swala, seva ya database ililazimika kurejesha swala na kuifanyia kutoka mwanzoni. Pia ilihitaji meneja wa ghala kuwa na ujuzi wa SQL na ruhusa sahihi ya kufikia habari ya meza.
Badala yake, mchakato unaweza kuwa rahisi kupitia matumizi ya utaratibu uliohifadhiwa. Hapa ni kanuni ya utaratibu unaoitwa sp_GetInventory ambayo hupata viwango vya hesabu kwa ghala lililopewa.
Unda utaratibu sp_GetInventory
@location varchar (10)
AS
Chagua Bidhaa, Wingi
Kutoka Inventory
HAPA Hifadhi = ugawaji
Meneja wa ghala la Florida anaweza kufikia viwango vya hesabu kwa kutoa amri:
JUMA sp_GetInventory 'FL'
Meneja wa ghala la New York anaweza kutumia utaratibu huo uliohifadhiwa ili kufikia hesabu ya eneo hilo:
JUMA sp_GetInventory 'NY'
Kwa hakika, hii ni mfano rahisi, lakini faida za uondoaji zinaweza kuonekana hapa. Meneja wa ghala hawana haja ya kuelewa SQL au utendaji wa ndani wa utaratibu. Kutoka kwa mtazamo wa utendaji, utaratibu uliohifadhiwa hufanya maajabu. SQL Server inajenga mpango wa utekelezaji mara moja na kisha huitumia tena kwa kuziba katika vigezo sahihi wakati wa utekelezaji.
Sasa kwa kuwa umejifunza faida za taratibu zilizohifadhiwa, pata nje na uitumie.
Jaribu mifano michache na ufuatie nyongeza za utendaji zilizopatikana-utastaajabishwa!
Jedwali la Hesabu
Kitambulisho | Bidhaa | Ghala | Wingi |
142 | Maharagwe ya kijani | NY | 100 |
214 | Mbaazi | FL | 200 |
825 | Mboga | NY | 140 |
512 | Maharagwe ya Lima | NY | 180 |
491 | Nyanya | FL | 80 |
379 | Watermeloni | FL | 85 |