Tallennetut menettelyt tarjoavat tehokkaita ja turvallisia etuja
Microsoft SQL Server tarjoaa tallennetun menettelymekanismin tietokannan kehittämisprosessin yksinkertaistamiseksi ryhmittelemällä Transact-SQL-käskyt hallittaviksi lohkoiksi. Useimmat SQL Server -kehittäjät arvostavat tallennettuja menettelytapoja, jotka löytävät tehokkuutensa ja turvallisuutensa, jotka he ansaitsevat.
Edut tallennettujen menettelyjen käyttämisestä
Miksi kehittäjä käyttää tallennettuja menettelyjä?
Tässä ovat tämän teknologian keskeiset hyödyt:
- Esiohjelmoitu suoritus: SQL Server kokoaa jokaisen tallennetun menettelyn kerran ja käyttää uudelleen toteutussuunnitelmaa uudelleen. Tämä johtaa valtavaan suorituskykyyn, kun tallennettuja toimintoja kutsutaan toistuvasti.
- Vähennetty asiakas / palvelinliikenne: Jos verkkokaistanleveys on ympäristön huoli, voit mielestäsi tietää, että tallennetut menettelyt voivat vähentää pitkiä SQL-kyselyitä yhteen viivaan lähetettävään viivaan.
- Koodin tehokas uudelleenkäyttö ja ohjelmoinnin abstraktio: Tallennettuja menetelmiä voidaan käyttää useiden käyttäjien ja asiakasohjelmien avulla. Jos käytät niitä suunnitellulla tavalla, kehitysohjelma vie vähemmän aikaa.
- Tehostetut suojausasetukset: Voit antaa käyttäjille oikeuden suorittaa tallennetut toimet riippumatta taustalla olevista taulukkoruutuista.
Tallennetut menettelyt ovat samanlaisia kuin käyttäjäkohtaiset toiminnot, mutta hienovaraisia eroja on.
Rakenne
Tallennetut menettelyt ovat samanlaisia kuin muissa ohjelmointikieleissä olevat rakenteet.
He hyväksyvät datan syöttöparametrien muodossa, jotka määritetään toteutusaikana. Nämä syöttöparametrit (jos ne on toteutettu) hyödynnetään sellaisten lausumien toteutuksessa, jotka tuottavat jonkin tuloksen. Tämä tulos palautetaan kutsuvalle ympäristölle käyttämällä rekisteriä, tuotosparametreja ja palautuskoodia.
Tämä saattaa kuulostaa suupala, mutta huomaat, että tallennetut menettelyt ovat varsin yksinkertaisia.
esimerkki
Katsotaanpa käytännön esimerkki, joka liittyy tämän sivun alaosassa näkyvään taulukkoon nimeltä mainosjakauma. Nämä tiedot päivitetään reaaliaikaisesti, ja varastonhoitaja tarkkailee jatkuvasti varastoissaan varastoituja tuotteita, jotka ovat käytettävissä toimitettavaksi. Aiemmin jokainen johtaja suoritti kyselyjä, jotka olivat samankaltaisia kuin seuraavat:
SELECT tuote, määrä
FROM Inventory
WHERE Warehouse = 'FL'
Tämä johti tehottomaan suorituskykyyn SQL Serverissa. Aina kun varastopäällikkö suoritti kyselyn, tietokantapalvelin joutui kääntämään kyselyn uudelleen ja suorittamalla se tyhjästä. Se edellytti myös varastojohtajan tietävän SQL: stä ja asianmukaisista käyttöoikeuksista pöytätiedon käyttämiseen.
Sen sijaan prosessia voidaan yksinkertaistaa tallennetun menettelyn avulla. Tässä on menettelyn koodi nimeltä sp_GetInventory, joka noutaa tietyn varaston inventointitasot.
LUOTTAA MENETTELY sp_GetInventory
@location varchar (10)
KUTEN
SELECT tuote, määrä
FROM Inventory
WHERE Warehouse = @paikka
Floridan varastonhoitaja voi sitten käyttää varastointitasoja antamalla komennon:
SUORITA sp_GetInventory 'FL'
New Yorkin varastonhoitaja voi käyttää samaa tallennettua menettelytapaa kyseisen alueen mainosjakauman käyttämiseen:
SUORITA sp_GetInventory "NY"
Hyvä esimerkki, tämä on yksinkertainen esimerkki, mutta abstraktin edut ovat nähtävissä täällä. Varastonhoitaja ei tarvitse ymmärtää SQL: n tai menettelyn sisäistä toimintaa. Suorituskyvyn näkökulmasta tallennettu menettely toimii ihmeinä. SQL Server luo toteutussuunnitelman kerran ja käyttää sitä uudestaan kytkemällä sopivat parametrit suoritusaikaan.
Nyt kun olet oppinut tallennettujen menettelytapojen hyödyt, pääset sinne ja käytä niitä.
Kokeile muutamia esimerkkejä ja mittaa saavutettuja suorituskyvyn parannuksia - tulet hämmästymään!
Inventaatiotaulukko
ID | Tuote | Varasto | Määrä |
142 | Vihreät pavut | New York | 100 |
214 | herneet | FL | 200 |
825 | Maissi | New York | 140 |
512 | limapavut | New York | 180 |
491 | tomaatit | FL | 80 |
379 | Vesimeloni | FL | 85 |