Хранитованные процедуры SQL против процедур внешнего языка [закрыто

StackOverflow https://stackoverflow.com/questions/8315639

Вопрос

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

Это было полезно?

Решение

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

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

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

Поиск некоторых больших основных чисел, используйте общий язык программирования. (кроме SQL!)

Другие советы

Вообще говоря, это может быть преимуществом написать как можно больше кода на общий язык программирования (PHP, Python, что угодно), так как весь этот код не должен быть адаптирован, если вы решите изменить СУБД.

Тем не менее, как правило, вы, безусловно, захотите, чтобы ваши приложения работали со многими СУБД, чем поддерживают ваши приложения на нескольких языках одновременно :)

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top