Недостаток хранимых процедур - PullRequest
19 голосов
/ 22 октября 2008

Хотелось бы получить список преимуществ и недостатков использования хранимых процедур. Основным преимуществом программных пакетов является предварительная компиляция и абстракция данных из приложения. Дайте мне свои мысли ....

Ответы [ 20 ]

2 голосов
/ 23 октября 2008

Преимущество: код, связанный с вашей базой данных, с большей вероятностью будет написан персоналом, который заинтересован в работе с базой данных и обладает навыками.

2 голосов
/ 16 ноября 2012

Преимущество использования хранимых процедур перед написанием одной и той же логики в коде приложения заключается в том, что оно может сократить количество обращений приложения к базе данных.

Хранимая процедура может принимать свои аргументы и принимать различные решения и действия на основе этих аргументов вместо того, чтобы возвращать результат приложению, а затем приложение принимает решение и решает, что ему нужно выполнить другое действие и выполнить другой вызов базы данных. .

Горлышко бутылки в исполнении - это почти всегда межпроцессное взаимодействие. Я пытаюсь сделать минимальное количество звонков в базу данных.

2 голосов
/ 22 октября 2008

Преимущество: администратор БД может добавить поведение, которое не заботит приложение. Например, сохранение даты изменения в каждой строке.

1 голос
/ 19 мая 2009

Преимущества: SP используются для выполнения набора SQL-операторов. Недостатки: отладка сложна

1 голос
/ 20 апреля 2011

Другое преимущество может быть в крупных корпоративных средах, где у вас может быть несколько клиентских приложений и сред (таких как веб-приложения, настольные компьютеры, средства отчетности, распределенные по разным ОС), которые используют базу данных. Для некоторых изменений бизнес-правил изменения могут быть внесены в базу данных, и это будет эффективно во всех средах.

1 голос
/ 02 апреля 2019

-Преимущества хранимой процедуры

  • Многоразовые и прозрачные для любого применения.
  • Secure.
  • Сокращение трафика между приложением и сервером базы данных.
  • Повышение производительности приложения.

- Недостатки хранимой процедуры.

  • Большое количество логических операций увеличивает загрузку процессора.
  • Трудно отладить.
  • Нелегко разрабатывать и поддерживать.
  • Не предназначен для разработки сложной или гибкой бизнес-логики.
1 голос
/ 22 октября 2008

Преимущество: у оперативной команды есть ловушка для отслеживания или устранения проблем на производстве.

0 голосов
/ 22 октября 2008

Преимущества -

  1. Организовано в одном месте (не разбросано по всему коду)
  2. Гораздо быстрее, чем динамические запросы
0 голосов
/ 26 января 2015

простой ответ будет следующим: adv: это самая мощная структура для инкапсуляции кодов T-SQL. он не ограничен SELECT и поддерживает все коды DML. это позволяет получать входные данные и возвращать выходные данные напрямую.

dis: невозможно вызвать его в SELECT, поэтому вы не можете запустить его для несколько записей.

0 голосов
/ 19 мая 2011

Увеличивает нагрузку на сервер. Если другие приложения или несколько приложений используют один и тот же сервер базы данных, они замедляются.

...