SQL Server saxlanan prosedurlar

Saklanan prosedurlar Yüksək effektivliyə və təhlükəsizliyə üstünlük verir

Microsoft SQL Server, Transact-SQL ifadələrini idarə olunan bloklara qruplaşdırmaqla verilənlər bazasının inkişafı prosesini asanlaşdırmaq üçün saxlanılan prosedur mexanizmini təmin edir. Saxlanılan prosedurlar, verdikləri səmərəliliyi və təhlükəsizlik faydalarını tapan ən çox SQL Server developers tərəfindən təqdir edilir və vaxt keçdikcə sərmayə qoymağa layiqdir.

Saxlanan prosedurların istifadə edilməsinin faydaları

Niyə bir geliştirici saxlanılan prosedurları istifadə etməlidir?

İşdə bu texnologiyanın əsas faydaları:

Saxlanılan prosedurlar istifadəçi funksiyalarına bənzəyir, lakin incə fərqlər var.

Quruluş

Saxlanılmış prosedurlar digər proqramlaşdırma dillərində görülən konstruksiyalara bənzəyir.

Onlar icra vaxtında göstərilən giriş parametrləri şəklində məlumatları qəbul edirlər. Bu giriş parametrləri (tətbiq olunarsa) bəzi nəticələr çıxaran bir sıra ifadələrin icrasında istifadə olunur. Bu nəticə bir qeyd qeydi, çıxış parametrləri və bir qaytarma kodu istifadə etməklə zəng mühitinə qaytarılır.

Bu ağız kimi səslənə bilər, amma saxta prosedurların əslində olduqca sadə olduğunu görürsünüz.

Misal

Bu səhifənin altındakı göstərilən inventarın adı ilə bağlı praktik bir nümunəyə nəzər salaq. Bu məlumatlar real vaxtda yenilənir və anbar menecerləri daim anbarlarında saxlanılan məhsulların səviyyəsini yoxlayırlar və göndərilirlər. Keçmişdə hər menecer aşağıdakılara bənzər sorguları davam etdirir:

SEÇİN Məhsul, Miqdarı
İnventarlaşdırma
WHERE Warehouse = 'FL'

Bu, SQL Server-da effektiv olmayan nəticələrə gətirib çıxardı. Bir anbar müdirinin sorguyu hər dəfə yerinə yetirdikləri zaman verilənlər bazası server sorguyu yeniden derlemeye və sıfırdan yürütmeye məcbur edildi. Bundan əlavə, anbar müdirinin SQL məlumatları və cədvəl məlumatlarına daxil olmaq üçün müvafiq icazələrin olması tələb olunur.

Bunun əvəzində proses saxlanılan bir prosedurun istifadəsi ilə sadələşdirilə bilər. Verilən bir anbar üçün inventar səviyyələrini alan sp_GetInventory adlı prosedurun kodu.

PROQRAMI yaradın sp_GetInventory
Boş yer (10)
AS
SEÇİN Məhsul, Miqdarı
İnventarlaşdırma
WHERE Warehouse = @ yerləşmə

Florida əmanət meneceri əmr verməklə inventar səviyyələrinə daxil ola bilər:

EXECUTE sp_GetInventory 'FL'

New York depo meneceri həmin ərazinin inventarına daxil olmaq üçün eyni saxta prosedurdan istifadə edə bilər:

EXECUTE sp_GetInventory 'NY'

Təbii ki, bu sadə bir nümunədir, amma abstraksiyanın faydaları burada görünə bilər. Anbar meneceri SQL-i və ya prosedurun daxili işini anlamamağa ehtiyac yoxdur. Performans perspektivindən saxlanan prosedurlar möcüzələr göstərir. SQL Server, icra planını bir dəfə yaradır və sonra müvafiq parametrləri yerinə yetirərkən onu yenidən işləyir.

Saxlanılan prosedurların faydalarını öyrəndikdən sonra, oradan çıxın və istifadə edin.

Bir neçə nümunəni nəzərdən keçirin və əldə olunan performansın ölçülməsini ölçün - heyran qalacaqsınız!

İnventarlaşdırma Cədvəli

ID Məhsul Anbar Miqdarı
142 Yaşıl lobya NY 100
214 Noxud FL 200
825 Qarğıdalı NY 140
512 Lima paxlası NY 180
491 Pomidor FL 80
379 Qarpız FL 85