Gweithredwyr wedi'u Storio Gweinyddwr SQL

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:

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