SQL Server сақталған процедуралар

Сақталған процедуралар жоғары тиімділік пен қауіпсіздік артықшылықтарын қамтамасыз етеді

Microsoft SQL Server бағдарламасы Transact-SQL операторларын басқарылатын блоктарға топтау арқылы дерекқор әзірлеу процесін жеңілдету үшін сақталатын процедура механизмін береді. Сақталған процедураларды тиімділік пен қауіпсіздіктің пайдасын табатын SQL Server әзірлеушілерінің көпшілігі бағалайды, олар уақытында алдын ала инвестициялауға тұрарлық.

Сақталған процедураларды пайдаланудың артықшылықтары

Неліктен әзірлеуші ​​сақталатын рәсімдерді пайдалану керек?

Бұл технологияның негізгі артықшылықтары:

Сақталған процедуралар пайдаланушы анықтайтын функцияларға ұқсас, бірақ нашар айырмашылықтар бар.

Құрылым

Сақталған процедуралар басқа бағдарламалау тілдерінде көрінетін конструкцияларға ұқсас.

Олар орындалу уақытында көрсетілген кіріс параметрлері түріндегі деректерді қабылдайды. Бұл кіріс параметрлері (егер іске асырылса) кейбір нәтиже беретін бірқатар мәлімдемелерді орындау кезінде қолданылады. Бұл нәтиже жазбалар жиынтығын, шығыс параметрлерін және қайтару кодын пайдалану арқылы қоңырау ортасына қайтарылады.

Бұл аузына ұқсас болуы мүмкін, бірақ сақталатын рәсімдер өте оңай.

Мысал

Осы беттің төменгі жағында көрсетілген инвентарь деп аталатын үстелге қатысты практикалық мысал қарастырайық. Бұл ақпарат нақты уақыт режимінде жаңартылып отырады және қойма менеджерлері қоймада сақталатын және жіберу үшін қол жетімді өнімдердің деңгейлерін үнемі тексеріп отырады. Бұрын әр менеджер төмендегідей сұрауларды орындады:

ТАҢДАУ Өнім, Саны
Тауар тізімінен
WHERE Warehouse = 'FL'

Бұл SQL Server серверінде тиімсіз жұмыс істеуге әкелді. Қойма басқарушысы сұранысты әр орындаған сайын, дерекқор сервері сұрауды қайта құрастырып, оны нөлден орындауға мәжбүр болды. Сонымен қатар қойманың менеджеріне SQL туралы білу және кесте ақпаратын ашу үшін тиісті рұқсаттар қажет болды.

Оның орнына, процесті сақталатын процедураны пайдалану арқылы жеңілдетуге болады. Мұнда sp_GetInventory деп аталатын рәсімнің коды, ол осы қойма үшін түгендеу деңгейлерін шығарады.

ПРОЦЕДУРА CREATE sp_GetInventory
@Location varchar (10)
AS
ТАҢДАУ Өнім, Саны
Тауар тізімінен
WHERE қоймасы = @ орналасуы

Флорида қоймасының басқарушысы төмендегі пәрменді шығару арқылы инвентарь деңгейіне қол жеткізе алады:

EXECUTE sp_GetInventory 'FL'

Нью-Йорктегі қойма басқарушысы осы аймақтың инвентаризациясына қол жеткізу үшін бірдей сақталатын процедураны пайдалана алады:

EXECUTE sp_GetInventory 'NY'

Әрине, бұл қарапайым мысал, бірақ абстракцияның пайдасы мұнда көрінеді. Складтың менеджері SQL түсінуді немесе процедураның ішкі жұмысын түсінудің қажеті жоқ. Өнімділік перспективасынан сақталатын процедура таңғажайып жұмыс істейді. SQL Server бір рет орындау жоспарын жасайды, содан кейін орындау уақытында тиісті параметрлерді қосу арқылы оны қайтадан жасайды.

Енді сіз сақталған процедуралардың артықшылықтарын білдіңіз, сол жерден шығыңыз және оларды пайдаланыңыз.

Бірнеше мысалды көріңіз және қол жеткізілген өнімділік көрсеткіштерін өлшеңіз - сіз таң қаласыз!

Кесте бойынша түгендеу

ID Өнім Қойма Саны
142 Жасыл бадана NY 100
214 Бұршақ FL 200
825 Дән NY 140
512 Лима бұршақтары NY 180
491 Томаттар FL 80
379 Қарбыз FL 85