Gweithdrefnau wedi'u Storio Cyflawni Budd-daliadau Effeithlonrwydd a Diogelwch Uchel
Mae Microsoft SQL Server yn darparu'r mecanwaith gweithdrefn storio i symleiddio'r broses datblygu cronfa ddata trwy grwpio datganiadau Transact-SQL mewn blociau y gellir eu rheoli. Gwerthfawrogir gweithdrefnau wedi'u storio gan y rhan fwyaf o ddatblygwyr SQL Server sy'n dod o hyd i'r manteision effeithlonrwydd a diogelwch y maent yn eu hennill, yn werth y buddsoddiad ymlaen llaw yn dda.
Manteision Defnyddio Gweithdrefnau wedi'u Storio
Pam y dylai datblygwr ddefnyddio gweithdrefnau storio?
Dyma fanteision allweddol y dechnoleg hon:
- Gweithredu rhag-drefnu: Mae SQL Server yn llunio pob gweithdrefn wedi'i storio unwaith ac yna'n ail-ddefnyddio'r cynllun gweithredu. Mae hyn yn arwain at hwb aruthrol o berfformiad pan gelwir y gweithdrefnau storio dro ar ôl tro.
- Gostyngiad o draffig cleient / gweinydd: Os yw lled band rhwydwaith yn bryder yn eich amgylchedd, byddwch chi'n fodlon dysgu y gall y gweithdrefnau a storio leihau ymholiadau SQL hir i un llinell a drosglwyddir dros y wifren.
- Ailddefnyddio cod a thyniad rhaglenni yn effeithiol: Gall sawl defnyddiwr a rhaglenni cleient ddefnyddio gweithdrefnau wedi'u storio. Os ydych chi'n eu defnyddio mewn ffordd gynlluniedig, fe welwch fod y cylch datblygu yn cymryd llai o amser.
- Rheolaethau diogelwch gwell: Gallwch roi caniatâd i ddefnyddwyr weithredu gweithdrefn storio yn annibynnol ar ganiatâd bwrdd sylfaenol.
Mae gweithdrefnau wedi'u storio yn debyg i swyddogaethau a ddiffiniwyd gan ddefnyddwyr, ond mae gwahaniaethau cynnil.
Strwythur
Mae gweithdrefnau wedi'u storio yn debyg i'r hyn a welwyd mewn ieithoedd rhaglennu eraill.
Maent yn derbyn data ar ffurf paramedrau mewnbwn a bennir yn ystod amser gweithredu. Defnyddir y paramedrau mewnbwn hyn (os gweithredir) wrth weithredu cyfres o ddatganiadau sy'n cynhyrchu peth canlyniad. Mae'r canlyniad hwn yn cael ei ddychwelyd i'r amgylchedd galw trwy ddefnyddio recordet, paramedrau allbwn a chod dychwelyd.
Efallai y bydd hynny'n swnio'n gyffrous, ond fe welwch fod y gweithdrefnau storio mewn gwirionedd yn eithaf syml.
Enghraifft
Gadewch i ni edrych ar enghraifft ymarferol sy'n gysylltiedig â'r rhestr bwrdd a enwir ar waelod y dudalen hon. Diweddarir y wybodaeth hon mewn amser real, ac mae rheolwyr warws yn gyson yn gwirio lefelau cynhyrchion a gedwir yn eu warws ac maent ar gael i'w llwyth. Yn y gorffennol, byddai pob rheolwr yn cynnal ymholiadau tebyg i'r canlynol:
SELECT SEFYDLIAD, Nifer
O'r Inventory
LLE Warehouse = 'FL'
Arweiniodd hyn at berfformiad aneffeithlon yn y Gweinyddwr SQL. Bob tro y bu rheolwr warws yn gweithredu'r ymholiad, gorfodwyd y gweinydd cronfa ddata i ail-lunio'r ymholiad a'i weithredu o'r dechrau. Roedd hefyd yn ei gwneud yn ofynnol i reolwr y warws fod â gwybodaeth am SQL a chaniatâd priodol i gael mynediad at wybodaeth y bwrdd.
Yn lle hynny, gellir symleiddio'r broses trwy ddefnyddio gweithdrefn storio. Dyma'r cod ar gyfer gweithdrefn a elwir yn sp_GetInventory sy'n adfer y lefelau rhestr ar gyfer warws penodol.
CREU GWEITHDREFN sp_GetInventory
@location varchar (10)
AS
SELECT SEFYDLIAD, Nifer
O'r Inventory
LLE Warehouse = @location
Gall rheolwr warws Florida wedyn gael mynediad at lefelau rhestri trwy gyhoeddi'r gorchymyn:
EXECUTE sp_GetInventory 'FL'
Gall rheolwr warws New York ddefnyddio'r un weithdrefn storio i gael mynediad at restr yr ardal honno:
GWEITHREDU sp_GetInventory 'NY'
Wedi'i ganiatáu, mae hon yn enghraifft syml, ond gellir gweld manteision tynnu yma. Nid oes angen i'r rheolwr warws ddeall SQL neu waith mewnol y weithdrefn. O safbwynt perfformiad, mae'r weithdrefn storio yn gweithio rhyfeddodau. Mae'r Gweinyddwr SQL yn creu cynllun gweithredu unwaith ac yna'n ei ail-ddefnyddio trwy blygu'r paramedrau priodol ar amser gweithredu.
Nawr eich bod wedi dysgu manteision gweithdrefnau storio, ewch allan yno a'u defnyddio.
Rhowch gynnig ar ychydig o enghreifftiau a mesurwch y gwelliannau perfformiad a gyflawnir-byddwch chi'n rhyfeddu!
Tabl Rhestr
ID | Cynnyrch | Warehouse | Nifer |
142 | Ffa gwyrdd | NY | 100 |
214 | Peas | FL | 200 |
825 | Corn | NY | 140 |
512 | Fas Lima | NY | 180 |
491 | Tomatos | FL | 80 |
379 | Watermelon | FL | 85 |