powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Несколько триггеров для одной операции или один?
13 сообщений из 13, страница 1 из 1
Несколько триггеров для одной операции или один?
    #32052403
Фотография Jimmy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемые коллеги!

Вопрос скорее методологический: что проще (эффективней) - создать один сложный триггер на операцию (напр. for delete ) или использовать несколько простых?

Спасибо.
...
Рейтинг: 0 / 0
Несколько триггеров для одной операции или один?
    #32052418
Фотография MiCe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если важна последовательность - то лучше в одном все делать...
...
Рейтинг: 0 / 0
Несколько триггеров для одной операции или один?
    #32052423
Фотография Jimmy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Последовательность неважна. Нужно просто проверить ряд условий.

Замечания: триггеры генерятся программно, поэтому предпочтительнее было бы создавать пакет простых, нежели увязывать все в один сложный. Но если это существенно влияет на эффективность (производительность) , то будем стараться :0)
...
Рейтинг: 0 / 0
Несколько триггеров для одной операции или один?
    #32052448
Genady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Рационального объяснения у меня нет, однако думаю, что лучше несколько простых, т.к. план выполнения для каждого простого триггера сделать оптимизатору проще будет.
...
Рейтинг: 0 / 0
Несколько триггеров для одной операции или один?
    #32052454
Genady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотел сказать, что сделать план более оптимальным.
...
Рейтинг: 0 / 0
Несколько триггеров для одной операции или один?
    #32052457
Фотография MiCe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а я считаю что наоборот....
план выполнения расчитывается один раз и потом сохраняется....
затраты на запуск тригера всетаки существуют.....
если обновлений таблицы много - это будет существенно ....
...
Рейтинг: 0 / 0
Несколько триггеров для одной операции или один?
    #32052473
Genady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 MiCe

А если в триггере будет приблизительно такой код:
Код: plaintext
1.
2.
3.
4.
5.
if условие1 then
   select тратата

if условие2 then
   update тратата


Какой будет план? По первому условию или по второму? И что будет когда с последующим запуском истина будет для другого выражения?
...
Рейтинг: 0 / 0
Несколько триггеров для одной операции или один?
    #32052479
Фотография MiCe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
план учитывает ветвление.....
...
Рейтинг: 0 / 0
Несколько триггеров для одной операции или один?
    #32052494
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Думаю истина где-то посередине.
С трудом представляю себе таблицу с 100-ей триггеров, каждый из пары команд
Но также с трудом представляю себе триггер с 100-ей if-ов и текстом на десяток страниц (хотя 100-ей еще может и ничего).
...
Рейтинг: 0 / 0
Несколько триггеров для одной операции или один?
    #32052565
Фотография Jimmy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо всем. Вопрос закрыт.
...
Рейтинг: 0 / 0
Несколько триггеров для одной операции или один?
    #32052578
Genady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
план учитывает ветвление.....

Каким образом? подробнее плиз.
...
Рейтинг: 0 / 0
Несколько триггеров для одной операции или один?
    #32052581
Фотография MiCe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Genady
если б план не учитывал ветвление - выполнение почти всех процедур было бы не эффективно....
а какая разница как он это делает? это не принципиально...
...
Рейтинг: 0 / 0
Несколько триггеров для одной операции или один?
    #32052598
Genady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 MiCe
План не учитывает ветвления, просто если сработал запрос в первом ифе, то на него строится план и сохраняется в кэше, а если во втором, то ессно на него строится план.
В принципе Вы правы, выигрыша разделение на мелкие триггера, кроме удобства чтения и модификации не принесет.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Несколько триггеров для одной операции или один?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]