Что такое хранимые процедуры и почему это выгоднее, чем держать full-stack программиста

Время чтения - 5 мин.
Дата публикации 02.07.2026

Когда мы говорим с владельцами бизнеса о разработке, я слышу: «Мне нужен программист, который знает PHP, Java, базы данных, фронтенд, сервер — всё». Такой full-stack специалист стоит 200-300 тысяч рублей в месяц. И через год вы зависите от него, потому что никто другой не разберётся в его коде.

Но есть альтернатива — хранимые процедуры SQL. Это способ писать бизнес-логику прямо в базе данных. В Falcon Space мы используем именно его. Результат: вам не нужен дорогой full-stack. Достаточно одного SQL-специалиста (или даже обученного менеджера). Код проще, быстрее и надёжнее.

Расскажу, что такое хранимые процедуры, почему они выгоднее и как с ними работает Falcon Space.

Что такое хранимые процедуры простыми словами

Хранимая процедура — это программа, которая живёт внутри базы данных. Вы пишете на языке SQL последовательность действий: получить данные из таблицы, посчитать сумму, обновить статус, отправить уведомление. И даёте процедуре имя. Потом можно вызывать её по имени, передавая параметры.

Пример: процедура «сменить статус заказа». На вход передаёте номер заказа и новый статус. Внутри она выполняет UPDATE. Всё. Никаких контроллеров, моделей, репозиториев. Одна простая сущность.

В традиционной веб-разработке ту же логику пришлось бы писать на PHP или Java: создать контроллер, модель, сервис, написать миграцию, прикрутить роутинг. Это 10-20 файлов. Ошибка может быть где угодно. В хранимой процедуре — один файл, 5-10 строк.

Почему хранимые процедуры выгоднее

1. Скорость разработки в 3-5 раз выше. Не нужно писать обвязку. Создал процедуру — и она готова к использованию. В Falcon Space вы пишете процедуру прямо в кабинете разработчика, нажимаете «Сохранить» — и она сразу работает. Никакого деплоя.

2. Дешевле специалисты. SQL-разработчик стоит 100-150 тыс. руб/мес. Full-stack — 200-300 тыс. руб/мес. Разница — минимум 100 тыс. руб/мес. За год — 1,2 млн рублей экономии на зарплате одного человека.

3. Проще найти замену. SQL — это стандарт. Любой SQL-специалист, даже не знакомый с вашим проектом, прочитает процедуру и поймёт, что она делает. В full-stack проекте код на Laravel или Symfony может быть уникальным, разобраться в нём новому человеку — недели.

4. Меньше ошибок. Код на SQL короче. Короткий код — меньше мест для багов. Кроме того, SQL Server оптимизирует выполнение запроса, проверяет синтаксис. В PHP же ошибку можно обнаружить только во время выполнения.

5. Высокая производительность. Процедура выполняется внутри базы данных, рядом с данными. Не нужно передавать данные на сервер приложений, обрабатывать их там и возвращать обратно. Для больших объёмов данных (миллионы строк) разница в скорости может быть в 10-100 раз.

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

Хранимые процедуры в Falcon Space

В платформе ваша задача — написать процедуры для трёх типов действий:

  • Отображение данных (например, список заказов). Вы пишете SELECT с фильтрацией.
  • Сохранение данных (форма редактирования). Вы пишете INSERT или UPDATE.
  • Выполнение действий (кнопка «Отправить»). Вы пишете любую логику (обновление, вставка, вызов внешних сервисов).

Процедуры в Falcon Space получают параметр @username — логин текущего пользователя. Это позволяет фильтровать данные (менеджер видит свои заказы, директор — все).

Пример процедуры для списка заказов менеджера:

CREATE PROCEDURE [app].[get_my_orders]
    @username nvarchar(100)
AS
BEGIN
    SELECT order_id, client_name, total_sum, status
    FROM orders
    WHERE manager_username = @username
    ORDER BY created_at DESC;
END

Всё. Остальное — таблица на странице, кнопка экспорта в Excel, фильтры — платформа делает автоматически.

Вы можете написать сотню таких процедур. Это вся бизнес-логика вашего приложения. При этом у вас нет тысяч строк кода на PHP, которые нужно поддерживать.

Реальный пример: экономия на поддержке CRM

В кейсе с CRM для нефтетрейдера (описан ранее) весь функционал (4 роли, отчёты, интеграция с эквайрингом) был реализован на 47 хранимых процедурах. Средний размер процедуры — 20 строк. Общий объём бизнес-логики — около 1000 строк SQL.

Если бы мы писали ту же логику на Java, потребовалось бы 10-15 тысяч строк кода (контроллеры, сервисы, репозитории). Поддерживать такой код в 10 раз дороже.

Клиент нанял одного SQL-специалиста на 0,5 ставки (60 тыс. руб/мес) для поддержки. При классической разработке ему пришлось бы держать full-stack программиста за 200 тыс. руб/мес. Экономия — 140 тыс. руб/мес, или 1,68 млн руб в год.

При этом скорость внесения изменений — 5-10 минут (изменить процедуру). При классической разработке — часы или дни (изменить код, провести компиляцию, задеплоить).

Когда хранимые процедуры не подходят

Честно: не всё можно и нужно писать на SQL. Вот случаи, где лучше использовать обычный язык:

  • Сложная математика (машинное обучение, статистика) — SQL не предназначен для тяжёлых вычислений с плавающей точкой.
  • Алгоритмы с большим количеством итераций (рекурсивные обходы графов) — курсоры в SQL медленные.
  • Работа с внешними протоколами, не поддерживаемыми SQL (WebSockets, низкоуровневый UDP).

Но для 95% бизнес-задач (учёт заказов, расчёт скидок, отчёты, статусы, логика согласования) SQL — идеальный инструмент.

Как обучить своего сотрудника хранимым процедурам

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

  1. Выберите сотрудника (менеджера, аналитика, бухгалтера), который уже умеет работать с Excel и не боится логики.
  2. Дайте ему пройти бесплатный курс SQL (например, SQL Academy — 20 часов).
  3. Изучите документацию Falcon Space по хранимым процедурам (у нас есть примеры).
  4. Попросите его написать простую процедуру — например, выборку клиентов из определённого города.
  5. Через 2-3 недели он сможет решать 70% типовых задач.
  6. Мы сами так обучали менеджеров в нашей компании. Теперь они пишут отчёты и добавляют мелкие поля в формы без нашего участия.

    Хранимые процедуры — это не страшно. Это просто. И это экономит миллионы. Попробуйте — и вы уже не захотите возвращаться к классической разработке.

    Насколько полезной была статья?
    Falcon Space, автор блога

    Автор статьи - Руслан Раянов

    Cоздатель платформы Falcon Space
Запрос расчета стоимости веб-проекта на базе Falcon Space
Если видео Youtube плохо грузится, то попробуйте найти видео в ВК видео на канале Falcon Space
Сайт использует Cookie, Яндекс Метрику. Используя сайт, вы соглашаетесь с правилами сайта. См. Правила конфиденциальности и Правила использования сайта OK