Объединить несколько триггеров Oracle. Какое-либо влияние на производительность?

Большинство наших таблиц имеют один триггер BEFORE INSERT OR UPDATE , чтобы установить ID BEFORE INSERT и установить пользователей для создания / изменения / date ПЕРЕД ВСТАВКОЙ ИЛИ ОБНОВЛЕНИЕМ .

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

В большинстве случаев дополнительные триггеры также срабатывают ПЕРЕД ВСТАВКОЙ ИЛИ ОБНОВЛЕНИЕМ , и порядок не важен, поскольку они охватывают разные столбцы / сценарии использования. В общем, их можно объединить в одиночные триггеры.

Существуют ли какие-либо исследования скорости вызова 1 или n триггеров на столе? Или это не имеет значения для вставок / обновлений в одну строку? Другими словами, существует ли только 1 глобальный переключатель контекста SQL -> PL / SQL , или будет 1 переключатель контекста для каждого триггера.

6
задан Lukas Eder 21 December 2011 в 08:28
поделиться