Skip to main content

Izrada pohranjenih postupaka za vaš SQL Server

How to Install Hadoop on Windows (Travanj 2025)

How to Install Hadoop on Windows (Travanj 2025)
Anonim

Microsoft SQL Server osigurava mehanizam pohranjene procedure kako bi se pojednostavio proces razvoja baze podataka grupiranjem Transact-SQL izjava u blokove koji se mogu upravljati. Pohranjene procedure poštuju većina razvojnih programera sustava SQL Server koji otkrivaju učinkovitost i sigurnosne prednosti koje žele dobro isplati unaprijed ulaganju u vremenu.

Prednosti korištenja pohranjenih postupaka

Zašto programer treba koristiti pohranjene procedure?

Ovdje su ključne prednosti ove tehnologije:

  • Pretvorena izvođenje: SQL Server sastavlja svaku pohranjenu proceduru jednom, a zatim ponovno koristi plan izvršenja. To rezultira ogromnim poboljšanjem performansi kada se pohranjene procedure ponovno pozivaju.
  • Smanjeni promet klijenta / poslužitelja: Ako je širina mreže širi u vašem okruženju, rado ćete saznati da pohranjene procedure mogu smanjiti dugo SQL upite na jednu liniju koja se prenosi preko žice.
  • Učinkovita ponovna upotreba koda i apstrakcija programiranja: Pohranjene procedure mogu koristiti više korisnika i klijentskih programa. Ako ih iskoristite na planirani način, vidjet ćete da razvojni ciklus traje manje vremena.
  • Poboljšane sigurnosne kontrole: Možete dozvoliti korisnicima dozvolu za izvršavanje pohranjene procedure neovisno o dopuštenim tabličnim dozvolama.

Pohranjeni postupci slični su korisnički definiranim funkcijama, ali postoje suptilne razlike.

Struktura

Pohranjene procedure slične su konstrukcijama koje se vide na drugim programskim jezicima.

Oni prihvaćaju podatke u obliku ulaznih parametara koji su navedeni u vrijeme izvršenja. Ovi ulazni parametri (ako su implementirani) koriste se u izvođenju niza tvrdnji koje donose neki rezultat. Ovaj rezultat se vraća u pozivnu okolinu pomoću zapisa, izlaznih parametara i povratnog koda.

To može zvučati kao zalogaj, ali naći ćete da su pohranjene procedure zapravo prilično jednostavne.

Primjer

Pogledajmo praktičan primjer vezan uz tablicu s nazivom oglasnog prostora prikazanog na dnu ove stranice. Te se informacije ažuriraju u stvarnom vremenu, a upravitelji skladišta stalno provjeravaju razinu proizvoda pohranjenih u njihovom skladištu i dostupni su za otpremu. U prošlosti bi svaki upravitelj pokrenuo upite slične sljedećem:

SELECT proizvod, količinaIz inventaraWHERE Warehouse = 'FL'

To je rezultiralo neučinkovitom izvedbom na SQL Serveru. Svaki put kada je upravitelj skladišta izvršio upite, poslužitelj baze podataka bio je prisiljen recompile upita i izvršiti ga od nule. Također je zahtijevao da menadžer skladišta ima znanje o SQL i odgovarajućim dozvolama za pristup informacijama o tablici.Umjesto toga, postupak se može pojednostaviti upotrebom pohranjene procedure. Evo koda za postupak nazvan sp_GetInventory koji dohvaća razine oglasnog prostora za određeno skladište.

CREATE PROCEDURE sp_GetInventory(10)KAOSELECT proizvod, količinaIz inventaraWHERE Warehouse = @ lokacija

Florida upravitelj skladišta može pristupiti razinama zaliha izdavanjem naredbe:

EXECUTE sp_GetInventory 'FL'

Upravitelj skladišta u New Yorku može koristiti istu pohranjenu proceduru za pristup inventaru tog područja:

EXECUTE sp_GetInventory 'NY'

To je jednostavan primjer, ali prednosti apstrakcije mogu se vidjeti ovdje. Upravitelj skladišta ne mora razumjeti SQL ili unutarnje funkcioniranje postupka. Iz perspektive izvedbe, pohranjena procedura radi čuda. SQL Server stvara plan izvršenja jednom, a zatim ga ponovno upotrebljava priključivanjem odgovarajućih parametara u vrijeme izvršenja.Sada kada ste naučili prednosti pohranjenih postupaka, izađite tamo i koristite ih.

Isprobajte nekoliko primjera i izmjerite postignute poboljšanja izvedbe - zapanjit ćete se!

Tablica oglasnog prostora

iskaznicaProizvodSkladišteKoličina
142Zeleni grahNY100
214GrašakFlorida200
825KukuruzNY140
512Lima grahNY180
491rajčiceFlorida80
379LubenicaFlorida85