SQL Server захоўваемыя працэдуры

Захоўваемыя працэдуры забяспечваюць высокую эфектыўнасць і перавага бяспекі

Microsoft SQL Server прадастаўляе зберажоную механізм працэдуры, каб спрасціць працэс распрацоўкі баз дадзеных шляхам групоўкі аператараў Transact-SQL на кіраваныя блокі. Захоўваемыя працэдуры ацэнены большасць распрацоўнікаў SQL Server, якія знаходзяць эфектыўнасці і бяспеку выгаду, якія яны пажынаюць добра варта першапачатковых укладанняў часу.

Перавагі выкарыстання захоўваемых працэдур

Чаму выкарыстанне распрацоўніка павінен захоўваемыя працэдуры?

Вось асноўныя перавагі гэтай тэхналогіі:

Захоўваемыя працэдуры аналагічныя функцый, вызначаюцца карыстальнікам, але ёсць тонкія адрозненні.

структура

Захоўваемыя працэдуры аналагічныя канструктаў бачылі ў іншых мовах праграмавання.

Яны прымаюць дадзеныя ў выглядзе ўваходных параметраў, якія пазначаны падчас выканання. Гэтыя ўваходныя параметры (калі рэалізавана) выкарыстоўваецца пры выкананні шэрагу сцвярджэнняў, якія вырабляюць нейкі вынік. Гэты вынік вяртаецца выклікалай праграма праз выкарыстанне запісаў, выходныя параметры і коды вяртання.

Гэта можа гучаць як глотка, але вы выявіце, што захоўваемыя працэдуры на самай справе даволі проста.

прыклад

Давайце паглядзім на практычны прыкладзе, звязаны з табліцай з імем інвентара праяўленай у ніжняй частцы гэтай старонкі. Гэтая інфармацыя абнаўляецца ў рэжыме рэальнага часу, а таксама складскія менеджэры пастаянна правяраць ўзровень прадукцыі, якая захоўваецца на іх складзе і даступныя для адгрузкі. У мінулым, кожны менеджэр будзе выконваць запыты, падобныя наступнага:

Выбар прадукту, Колькасць
FROM Inventory
ДЗЕ Warehouse = 'FL'

Гэта прывяло да неэфектыўнага прадукцыйнасці ў SQL Server. Кожны раз, калі менеджэр склада выканаў запыт, сервер базы дадзеных быў вымушаны перакампіляваць запыт і выканаць яго з нуля. Акрамя таго, патрабуецца менеджэр склада, каб мець веданне SQL і адпаведных дазволаў для доступу да інфармацыі табліцы.

Замест гэтага, гэты працэс можа быць спрошчаны за кошт выкарыстання захоўваемай працэдуры. Вось код для працэдуры, званай sp_GetInventory, якія атрымліваюць ўзроўні запасаў для дадзенага склада.

CREATE PROCEDURE sp_GetInventory
@location VARCHAR (10)
AS
Выбар прадукту, Колькасць
FROM Inventory
ДЗЕ Warehouse = @location

Склад Фларыда можа атрымаць доступ да ўзроўняў запасаў, выканаўшы каманду:

ВЫКАНАЦЬ sp_GetInventory 'FL'

Складской менеджэр Нью-Ёрк можа выкарыстоўваць тую ж зберажоную працэдуру, каб атрымаць доступ да інвентарызацыі гэтай зоны:

ВЫКАНАЦЬ sp_GetInventory 'NY'

Вядома, гэта просты прыклад, але перавагі абстракцыі можна ўбачыць тут. Менеджэр склада ня трэба разумець SQL ці ўнутраныя работы працэдуры. З пункту гледжання прадукцыйнасці, захоўваемая працэдура творыць цуды. SQL Server стварае план выканання адзін раз, а затым reutilizes яго, падлучыўшы адпаведныя параметры падчас выканання.

Зараз, калі вы даведаліся перавагі захоўваемых працэдур, атрымаць там і выкарыстоўваць іх.

Паспрабуйце некалькі прыкладаў і вымераць павелічэнне прадукцыйнасці дасягаецца яе надзейнасці здзіўлены!

інвентар Табліца

ID прадукт склад колькасць
142 зялёная фасолю Нью-Ёрк 100
214 гарох Фларыда 200
825 мазоль Нью-Ёрк 140
512 Лімская фасолю Нью-Ёрк 180
491 памідоры Фларыда 80
379 кавун Фларыда 85