SQL zerbitzaria gordetzen diren prozedurak

Prozedura gordetuak Eraginkortasun Handikoa eta Segurtasun Abantailak bidaltzea

Microsoft SQL Server-ek biltegiratutako prozedura mekanismoa eskaintzen du datu-basearen garapen-prozesua errazteko, Transact-SQL adierazpenak blokeak kudeatzeko. Berreskuratutako prozedurak SQL Server-eko garatzaile gehienak hautematen dituzte, denbora aurrezteko inbertsioak merezi dituzten eraginkortasun eta segurtasuneko onurak biltzen dituena.

Gordetako prozedurak erabiltzearen abantailak

Zergatik garatzaileek biltegiratutako prozedurak behar dituzte?

Hona hemen teknologia honen funtsezko onurak:

Garatutako prozedurak erabiltzaileek definitutako funtzioen antzekoak dira, baina ezberdintasun nabarmenak daude.

egitura

Garatutako prozedurak beste programazio hizkuntzatan ikusi diren eraikuntzen antzekoak dira.

Datuak onartzen dituzte exekuzioan zehaztutako sarrerako parametroen eran. Sarrera parametro hauek (inplementatuak badira) emaitza batzuk sortzen dituzten adierazpen multzo baten exekuzioa erabiltzen da. Emaitza hori deien ingurunera itzultzen da erregistro-multzo baten, irteerako parametroen eta itzultze-kode baten bidez.

Hori mingotsa bezalakoa izan daiteke, baina biltegiratutako prozedurak nahiko sinpleak dira.

Adibidea

Orrialde honen beheko aldean agertzen den inbentarioa duen adibide praktiko bat aztertuko dugu. Informazio hori eguneratzen da denbora errealean, eta biltegi kudeatzaileek beren biltegian gordetako produktuen maila kontrolatzen dute eta bidalketarako eskuragarri daude. Iraganean, kudeatzaile bakoitzak hurrengoen antzekoak exekutatuko ditu:

Aukeratu produktua, Kopurua
Inbentarioa FROM
Non Warehouse = 'FL'

Honek ez du funtzionamendu eraginkorra SQL Server-en. Biltegi kudeatzaileak kontsultarako exekutatzen den bakoitzean, datu-basearen zerbitzariak kontsulta berregin behar du eta exekutatu hutsetik. Gainera, biltegi kudeatzaileak SQL ezagutzera eman behar du eta baimen egokiak mahaiaren informazioan sartzeko.

Horren ordez, prozesua erraztu daiteke biltegiratutako prozedura baten bidez. Hona hemen sp_GetInventory izeneko prozedura baten kodea, emandako biltegi bateko inbentario-maila berreskuratzen duena.

SORTU PROZEDURA sp_GetInventory
@location varchar (10)
AS
Aukeratu produktua, Kopurua
Inbentarioa FROM
Nondik Warehouse = @ kokalekua

Florida biltegi kudeatzaileak ondoren inbentarioa mailara sartzeko komandoa igortzen du:

EXECUTE sp_GetInventory 'FL'

New Yorkeko biltegi kudeatzaileak biltegiratutako prozedura bera erabil dezake eremu horretan inbentarioa sartzeko:

EXECUTE sp_GetInventory 'NY'

Benetan, adibide sinplea da, baina abstrakzioaren abantailak hemen ikus daitezke. Biltegi kudeatzaileak ez du SQL edo prozedurak barne funtzionamendua ulertu behar. Errendimenduaren ikuspegitik, biltegiratutako prozedurak mirariak egiten ditu. SQL Server-ek exekuzio-plan bat sortzen du behin eta berriro, exekuzio-denbora parametro egokiarekin konektatuz.

Orain biltegiratutako prozeduren onurak ikasi dituzula, atera eta erabili itzazu.

Saiatu zenbait adibiderekin eta lortu hobekuntza-neurriak neurtu, harritu egingo zara!

Inbentario taulan

NAN Produktuen biltegia Kopurua
142 Babarrunak NY 100
214 Peas FL 200
825 arto NY 140
512 Lima babarrunak NY 180
491 Tomatoes FL 80
379 sandia FL 85