Pwosedi estoke delivre gwo efikasite ak benefis Sekirite Sosyal
Microsoft SQL sèvè bay mekanis pwosedi ki estoke a senplifye pwosesis devlopman baz done a pa gwoupman deklarasyon Transact-SQL nan blòk manageable. Pwosedi estoke yo apresye pa pi SQL sèvè devlopè ki jwenn benefis yo ak benefis sekirite yo rekòlte yo byen vo envestisman an inicio nan tan.
Benefis Sèvi ak Pwosedi ki estoke
Poukisa yon pwomotè dwe itilize pwosedi ki estoke?
Isit la yo se benefis yo kle nan teknoloji sa a:
- Precompiled ekzekisyon: SQL sèvè konpile chak pwosedi ki estoke yon fwa epi lè sa a reutilizes plan ekzekisyon an. Sa rezilta nan ogmantasyon pèfòmans fòmidab lè pwosedi ki estoke yo rele repete.
- Redui kliyan / sèvè trafik: Si rezo Pleasant se yon enkyetid nan anviwònman ou, ou pral kontan aprann ke pwosedi ki estoke ka redwi demann SQL long nan yon liy sèl ki transmèt sou fil la.
- Itilizasyon itil nan kòd ak abstraksyon pwogram lan: Pwosedi ki estoke ka itilize pa itilizatè miltip ak pwogram kliyan. Si ou itilize yo nan yon fason ki planifye, w ap jwenn sik la devlopman pran mwens tan.
- Kontwòl sekirite amelyore: Ou ka bay divinò pèmisyon pou egzekite yon pwosedi ki estoke poukont yo nan pèmisyon tab kache.
Pwosedi estoke yo sanble ak fonksyon itilizatè defini, men gen diferans sibtil.
Estrikti
Pwosedi estoke yo sanble ak konstwi yo wè nan lòt lang programmation.
Yo aksepte done nan fòm lan nan paramèt opinyon ki espesifye nan tan ekzekisyon. Sa yo paramèt opinyon (si aplike) yo itilize nan ekzekisyon an nan yon seri de deklarasyon ki pwodwi kèk rezilta. Sa a se rezilta tounen nan anviwònman an rele nan itilize nan yon dosye, paramèt pwodiksyon ak yon kòd retounen.
Sa ka son tankou yon gon, men w ap jwenn ke pwosedi ki estoke yo aktyèlman byen senp.
Egzanp
Ann pran yon gade nan yon egzanp pratik ki gen rapò ak tablo yo te rele envantè yo montre nan pati anba a nan paj sa a. Enfòmasyon sa a mete ajou nan tan reyèl, ak depo administratè yo toujou ap tcheke nivo pwodwi ki estoke nan depo yo epi ki disponib pou chajman. Nan tan lontan an, chak manadjè ta kouri demann ki sanble ak sa ki annapre yo:
SELECT Pwodwi, Kantite
Soti nan envantè
KI KOTE Warehouse = 'FL'
Sa a lakòz nan pèfòmans rezèvwa nan sèvè a SQL. Chak fwa yon manadjè depo egzekite rechèch la, sèvè a baz done te fòse yo recompile sijè rechèch la epi egzekite li nan grate. Li te egzije tou manadjè depo a pou yo gen konesans nan SQL ak otorizasyon apwopriye pou jwenn aksè nan enfòmasyon tab la.
Olye de sa, pwosesis la ka senplifye atravè itilizasyon yon pwosedi ki estoke. Isit la nan kòd la pou yon pwosedi yo rele sp_GetInventory ki rekipere nivo yo envantè pou yon depo yo bay yo.
CREATE PWOSEDI sp_GetInventory
@location varchar (10)
AS
SELECT Pwodwi, Kantite
Soti nan envantè
KI KOTE Warehouse = @location
Manadjè depo nan Florid la ka Lè sa a, jwenn nivo envantè pa founi dokiman yo lòd la:
EXECUTE sp_GetInventory 'FL'
Manadjè depo New York ka itilize menm pwosedi ki estoke pou aksè nan envantè zòn sa a:
EXECUTE sp_GetInventory 'NY'
Akòde, sa a se yon egzanp senp, men benefis yo nan abstraction ka wè isit la. Manadjè a depo pa bezwen konprann SQL oswa fonksyonman enteryè yo nan pwosedi a. Soti nan yon pèspektiv pèfòmans, pwosedi a ki estoke travay bèl bagay. SQL Sèvè a kreye yon plan ekzekisyon yon fwa epi lè sa a reutilizes li pa brase nan paramèt ki apwopriye a nan tan ekzekisyon.
Koulye a, ke ou te aprann benefis ki genyen nan pwosedi ki estoke, jwenn deyò epi sèvi ak yo.
Eseye kèk egzanp epi mezire amelyorasyon pèfòmans yo reyalize-ou pral sezi!
Tablo envantè
ID | Pwodwi | Depo | Kantite |
142 | Pwa vèt | NY | 100 |
214 | Pwa | FL | 200 |
825 | Mayi | NY | 140 |
512 | Lima pwa | NY | 180 |
491 | Tomat | FL | 80 |
379 | Melon dlo | FL | 85 |