Создание пакета SQL из большого кода SQL

Интересно, какой подход лучше всего подходит для запуска большого кода T-SQL около 2500 строк в одном пакете. код использует около 20 различных таблиц и агрегирует данные из различных источников данных, применяет бизнес-правила и, наконец, вставляет данные преобразования в таблицу. Проблема в том, что код слишком большой, и каждый раздел полагается на предыдущий результат. Должен ли я создать одну большую транзакцию w rollback?
следует ли разрывать код в нескольких меньших хранимых процедурах.

Есть мысли?

Спасибо,
Боб

1 ответ

  1. Я видел, где один гигантский оператор SQL работает лучше, чем кусок mealing логику. И в других случаях, когда это действительно нужно переписать в несколько операторов.

    Лично мне нравится загружать временную таблицу и вставлять / удалять / обновлять из нее до тех пор, пока не будут получены окончательные данные. Это делает обслуживание намного проще, чем одна монолитная инструкция SQL; обслуживание всегда является проблемой № 1 в моей книге. Если никто не может обновить его, не нарушая несколько вещей, или это занимает в десять раз больше времени, чтобы реализовать изменения, то это плохой дизайн. Производительность редко должна превзойти обслуживание в качестве первой заботы.