Являются ли хранимые процедуры более эффективными, чем встроенные операторы в современных СУБД?
Причины использования хранимых stored-procedures процедур:
- Уменьшите сетевой трафик - вам нужно отправить инструкцию SQL по сети. С помощью sprocs вы можете выполнять SQL пакетами, что также более эффективно.
- Кэширующий план запроса - при первом выполнении sproc SQL Server создает план выполнения, который кэшируется для повторного использования. Это особенно эффективно при частом выполнении небольших запросов.
- Возможность использовать выходные параметры - если вы отправляете встроенный SQL, который возвращает одну строку, вы можете получить обратно только набор записей. С помощью sprocs вы можете вернуть их в качестве выходных параметров, что значительно быстрее.
- Разрешения - когда вы отправляете встроенный SQL, вы должны предоставить пользователю права доступа к таблице (таблицам), что дает гораздо больший доступ, чем просто разрешение на выполнение sproc
- Разделение логики - удалите код, генерирующий SQL, и поместите его в базу данных.
- Возможность редактировать без перекомпиляции - это может вызывать споры. Вы можете редактировать SQL в sproc без перекомпиляции приложения.
- Найти, где используется таблица - с помощью sprocs, если вы хотите найти все операторы SQL, ссылающиеся на определенную таблицу, вы можете экспортировать код sproc и выполнить поиск по нему. Это намного проще, чем пытаться найти это в коде.
- Оптимизация. Администраторам баз данных проще оптимизировать SQL и настроить базу данных при использовании sprocs. Легче найти недостающие индексы и тому подобное.
- Атаки с использованием SQL-инъекций - правильно написанный встроенный SQL может защитить от атак, но sprocs лучше подходят для этой защиты.
sql
database
stored-procedures
2021-12-04T13:33:47+00:00
2022-08-27T05:56:45+00:00
KJlaDoBLLluK
Вопросы с похожей тематикой, как у вопроса:
Являются ли хранимые процедуры более эффективными, чем встроенные операторы в современных СУБД?
Предупреждение о файлах Cookies
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.