Procedurat e ruajtur të SQL Server

Procedurat e ruajtura ofrojnë efikasitet të lartë dhe përfitime të sigurisë

Microsoft SQL Server siguron mekanizmin e procedurës së ruajtur për të thjeshtuar procesin e zhvillimit të bazës së të dhënave duke grupuar deklaratat Transact-SQL në blloqe të menaxhueshme. Procedurat e ruajtura vlerësohen nga shumica e zhvilluesve të SQL Server, të cilët gjejnë efikasitetin dhe përfitimet e sigurisë që korrin, ia vlen të investojnë në kohë.

Përfitimet e përdorimit të procedurave të ruajtura

Pse një zhvilluesi duhet të përdorë procedurat e ruajtura?

Këtu janë përfitimet kryesore të kësaj teknologjie:

Procedurat e ruajtura janë të ngjashme me funksionet e përcaktuara nga përdoruesit, por ka dallime delikate.

strukturë

Procedurat e ruajtura janë të ngjashme me konstruktet e shikuara në gjuhët e tjera programore.

Ato pranojnë të dhëna në formë të parametrave të inputeve që janë specifikuar në kohën e ekzekutimit. Këto parametra të hyrjes (nëse zbatohen) përdoren në ekzekutimin e një serie deklaratash që prodhojnë ndonjë rezultat. Ky rezultat i kthehet mjedisit të thirrjes përmes përdorimit të një skedari, parametrave të prodhimit dhe një kodi të kthimit.

Kjo mund të tingëllojë si një gulçim, por do të zbuloni se procedurat e ruajtura në të vërtetë janë mjaft të thjeshta.

shembull

Le të hedhim një vështrim në një shembull praktik në lidhje me tabelën me emrin e inventarit të treguar në pjesën e poshtme të kësaj faqeje. Ky informacion përditësohet në kohë reale, dhe menaxherët e magazinave kontrollojnë vazhdimisht nivelet e produkteve të depozituara në magazinën e tyre dhe janë në dispozicion për dërgesë. Në të kaluarën, çdo menaxher do të drejtojë pyetje të ngjashme me sa vijon:

Produkti SELECT, Sasia
NGA Inventari
KU SHKALLA = 'FL'

Kjo ka rezultuar në performancë joefikase në SQL Server. Çdo herë që një menaxher depoje ekzekutoi pyetjen, serveri i bazës së të dhënave u detyrua të recompile query dhe të ekzekutojë atë nga e para. Gjithashtu kërkoi që menaxheri i magazinës të ketë njohuri për SQL dhe lejet e duhura për të hyrë në informacionin e tabelës.

Në vend të kësaj, procesi mund të thjeshtohet nëpërmjet përdorimit të një procedure të ruajtur. Ja kodi për një procedurë të quajtur sp_GetInventory që merr nivelet e inventarit për një depo të dhënë.

CREATE PROCEDURA sp_GetInventory
@ lokacimi i varchar (10)
AS
Produkti SELECT, Sasia
NGA Inventari
Ku Magazina = @ vendndodhjen

Menaxheri i magazinës në Florida pastaj mund të arrijë nivelet e inventarit duke lëshuar komandën:

EXECUTE sp_GetInventory 'FL'

Menaxheri i magazinës së Nju Jorkut mund të përdorë të njëjtën procedurë të ruajtur për të hyrë në inventarin e asaj zone:

EXECUTE sp_GetInventory 'NY'

Pa dyshim, ky është një shembull i thjeshtë, por përfitimet e abstraksionit mund të shihen këtu. Menaxheri i magazinës nuk ka nevojë të kuptojë SQL ose punimet e brendshme të procedurës. Nga një perspektivë e performancës, procedura e ruajtur bën mrekulli. SQL Server krijon një plan ekzekutimi një herë dhe pastaj e riutilizon atë duke mbyllur parametrat e duhur në kohën e ekzekutimit.

Tani që ju keni mësuar përfitimet e procedurave të ruajtura, dilni atje dhe i përdorni ato.

Provoni disa shembuj dhe matni përmirësimet e arritura të arritura - do të mbeteni të habitur!

Tabela e inventarit

ID Produkt depo sasi
142 Bishtaja NY 100
214 bizele FL 200
825 misër NY 140
512 Fasule Lima NY 180
491 Domate FL 80
379 shalqi FL 85