Хранимые процедуры имеют свои преимущества:
- Минимизация трафика туда и обратно между приложением и базой данных, тратя пропускную способность
- MVC: Разделение персистентного слоя
- Масштаб загружается лучше, чем код приложения (IE:
ORDER BY
всегда будет иметь больший приоритет, чем код приложения)
Хранимая процедура Минусы:
- Зависимость базы данных - ANSI становится все более широко поддерживаемым, но код хранимых процедур (не запрос / запросы в них) в настоящее время не стандартизирован
Заключение
Да, хранимые процедуры и функции могут выполнять большую часть того, что вы, вероятно, когда-либо хотели бы делать с данными. Решение об их использовании определяется выбором проекта - чтобы быть независимым от базы данных, большинство не будет использовать хранимые процедуры. Выберите то, что лучше всего соответствует требованиям, а не вашим предпочтениям.