Шаг 16 - Для чего созданы хранимые процедуры

Появление хранимых процедур связано с тем, что использование технологии клиент-сервер не всегда эффективно и срабатывает только в части случаев. Ну, например, у нас есть база данных со списком работников предприятия. Скажем работает у нас 1000 человек. Мы можем послать запрос на то, какие работники старше 50 лет и кто из них, скажем, водитель. В данном случае трафик по сети и загрузка клиента не большая. Вся основная работа ложится на сервер по обработке запроса и передаче результата клиенту.

gif/16_1.gif (2007 b)

В данной ситуации все нормально. Сервер он на то и сервер, чтобы испытывать перегрузки и выдавать запрос, клиент получает маленькую выборку и с ней может работать. Сеть передает мало данных. Все нормально. Но стоит захотеть что-нибудь сделать отличное от запросов SQL. Например, посчитать статистику по данным, например, среднее, медиану, дисперсию и так далее, как окажется, что сервер и SQL здесь не помошник. Нам придется на клиента закачивать все данные и на нем производить обработку. Получается, что сервер служит только для выдачи данных. Вот для ликвидации подобной ситуации и созданы хранимые процедуры. Хранимые процедуры позволяют организовать обработку данных на сервере. Кроме того, в самой процедуре может содержаться довольно объемный код и нам не нужно будет передавать его по сети. Кроме того, так как логика работы будет реализована в виде системных процедур, то при изменении ее нам не придется править клиентов. Все нужно будет исправить всего один раз в хранимой процедуре. Итак, что дают хранимые процедуры.

  1. Разгрузка трафика сети
  2. Разгрузка клиента
  3. Организация логики в одном месте

Появление хранимых процедур было самым первым шагом к трехуровневой модели. На данный момент данная технология считается устаревшей и логику рекомендуют реализовывать с использованием объектов COM. То есть между клиентом и БД вставляют еще один слой. Но все равно использование хранимых процедур может значительно облегчить создание приложений.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 10.09.2001