I Proceduti Guardianu Pettendu Amenelli D'Efficiency è Seguretat
U Server di Microsoft SQL furnisce u mecanismu di u procedimentu emmagatzito per simplificà u prucessu di sviluppu di basa di dati aggruppendu i Studi Transact-SQL in bloconi manighjate. I prudutti maghjuri sò apprezzati da a maiò parte di i desarrollatori di SQL Server chì trovani l'efficienza è i prublemi di sicurezza crescenu sò vale d'aversità in u inversu in u tempu.
Beneficii di l'Ughjettu pruduttu
Perchè chì un prudutore utilizate i prucedure guardate?
Eccu i benefici craviu di sta tecnulugia:
- Esekzione precompiled: SQL Server compilà ogni procedura almacenada un avà è po riutilizeghja u pianu di esekiazione. Questu risultatu in un impulso enormu di rendiment in quandu i prucessi amministrativi sò chjamati ripetutamente
- U trafficu di u cliente / server reductu: Se u largu di banda di a rete hè un ingaghjatu in u vostru ambiente, serete felice d'amparà chì i prucessi guardati pò esse finissenu longu dumandesi SQL à una sola linea chì hè trasmessa nantu à u filatu.
- A riutilazione efficienza di u codice è l'estrazzioni di prugrammazione: i prucedure guardatu pò esse utilizatu da parechji utenti è i clienti clientali. Se l'utiliscia in una manera pianificata, truvate u ciculu di sviluppu dura più di tempu.
- Controisi di sicurezza avanzati: Pudete à cuncede l'autorizazioni d'u permessu per eseguisce un procede almacenatu inde independente di i permessi sottu.
I Procuri guardatu sò simili à funzioni definitu per l'usu, ma sò parechje sali.
Struttura
I prudutti stati sò parechji simili à i constructi vistuti in altre lingua di prugrammazione.
Aduprate micca dati in a forma di paràmetri di ingressu chì sò specificate in u tempu di esse in esecutà. Queste paràmetri di ingressu (s'e implementatu) sò utilizzati in l'esekzione di una seria di stimi chì pruducenu qualchì risultatu. Stu risultatu hè tornatu à l'ambienti di cundizzione à l'utilizazione di un altru registratu, paràmetri di vendetta è un codice di ritornu.
Chì pò esse cum'è un bocu, ma ùn trovi chì i prucessi guardianu sò assai simplici.
Esempiu
Fighjemu un veru esempiu praticali relative à a tavula chjamata inventariu ammustrata à u fondu di sta pagina. Questa informazione hè aghjurnata in tempu reale, è i gestiti di i magazzini cuntene i cuntenuti constantemente i niveli di prudutti guardate in u so magazinu è dispunibili per u trasportu. In u passatu, ogni amministratore curriri dumande simili simili à i seguenti:
Select Product, Quantità
FROM Inventory
WHERE Warehouse = 'FL'
Questu resulte un rendimentu inefficientu à u Server di SQL. Ogni vota un amministratore di i maghiori aduprò a quistione, u servitore di basa di basa hè stata obligata di recompile a dumanda è eseguite da scarrafiate. Havi abbisognu ancu u gestione di u magazzinu per avè u sapidu di SQL è i permessi approprjati per accede à l'infurmazione nantu à a table.
Invece, u prucessu pò esse simplificatu à traversu l'usu di un prucedimentu in maghju. Eccu u codice per un prucessu chjamatu sp_GetInventory chì ripruvià i niveli di inventariu per un magiu donu.
CREATE PROCEDURE sp_GetInventory
@location varchar (10)
AS
Select Product, Quantità
FROM Inventory
WHERE Warehouse = @ loca
U Manager di magazzini di a Florida puderà accede à accede à l'inventariu per issu issu l'òrdine:
EXECUTE sp_GetInventory 'FL'
U ghjocu di u magazinu di u New York pudete aduprà a stessa prucedura in maghjina per accede à l'inventariu di l'area:
EXECUTE sp_GetInventory 'NY'
Conceda, questu hè un esemplariu simplice, ma i benefizii di l'abstrazzioni si pò vedà quì. U gestione di u magazzini ùn hà micca bisognu di cumprà SQL o u travagliu internu di u prucedimentu. Da una perspettiva di u prugrammu, a prucedimentu guariscutu travaglia meraviglie. U Server di SQL creeghja un pianu di esigenza è poi a reutilizeghja cù l'incruciate in i paràmetri adattati à u tempu d'esecutesi.
Avà chì avete amparatu u beneficu di i prucessi guardianu, sia ghjuntu è utilizate.
Pruvate uni pochi esempi è misurà e rinfurzà a realizazione achieved-vi sarà maravigliatu!
Cartona di inventariu
ID | Pruduttu | Warehouse | Quantità |
142 | Fasgioli | NY | 100 |
214 | I pezzi | FL | 200 |
825 | Corn | NY | 140 |
512 | Fasgioli di Lima | NY | 180 |
491 | I pumati | FL | 80 |
379 | Sandia | FL | 85 |