|
|
|
ASE 12.5.x - можно ли посмотреть план триггера без изменения данных
|
|||
|---|---|---|---|
|
#18+
Господа, подскажите пожалуйста - можно ли как-то посмотреть план тригерра без изменения данных. Простой пример Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. Я получаю план триггера только когда выполняется Insert. Если включить noexec то получаю только план для insert. Оно, вроде, понятно т.к. триггер просто не вызывается. Но как быть если нужно посмотреть план триггера в "боевой" среде, где данные менять нельзя? Заранее большое спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2009, 19:12 |
|
||
|
ASE 12.5.x - можно ли посмотреть план триггера без изменения данных
|
|||
|---|---|---|---|
|
#18+
Kru, Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2009, 19:49 |
|
||
|
ASE 12.5.x - можно ли посмотреть план триггера без изменения данных
|
|||
|---|---|---|---|
|
#18+
SQLMantisKru, Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Большое спасибо. Способ с откатом транзакции имеет один недостаток - триггер реально выполняется. Если триггер дефектный, то он может зависнуть и тогда никакого результата не будет. Мне подсказали хороший способ: set showplan -> set fmtonly-> запрос на обновление Будет выведен план, но при этом триггер не запустится и данные не будут обновлены. И ещё, есть такое важное ограничение - должно быть право обновлять данные иначе к триггеру, кажется, невозможно подобраться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2009, 20:49 |
|
||
|
ASE 12.5.x - можно ли посмотреть план триггера без изменения данных
|
|||
|---|---|---|---|
|
#18+
Kru wrote: Если я ничего не путаю, если поставить set noexec on ВНУТРИ триггера и его пересоздать, то он будет при выполнении выполняться с выведением плана запросов. Но, естественно, от невыполнения триггера это не спасёт. Трюк с откатом транзакции, по-моему, -- единственно возможное решение, поскольку очень сложно представить, как можно НЕ ВЫПОЛНЯТЬ триггер при выполении DML на его таблице. Он же триггер, он для этого и нужен, чтобы выполняться в этом случае. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2009, 15:06 |
|
||
|
ASE 12.5.x - можно ли посмотреть план триггера без изменения данных
|
|||
|---|---|---|---|
|
#18+
MasterZiv wrote: Да, ещё. Я бы порекомендовал подумать про то, чтобы оформить внутренности триггера как процедуру, работающую с одной строкой изменённых данных. Тогда в триггере будет цикл по курсору INSERTED или DELETED, вызывающий эту процедуру, тогда просто процедуру легче отлаживать в смысле производительности. Правда, это не всегда целесообразно делать, опять-таки, с точки зрения производительности : лишний курсор, как никак. Но если этот курсор и так есть, то стоит подумать о таком подходе. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2009, 15:10 |
|
||
|
|

start [/forum/topic.php?fid=55&msg=36218365&tid=2010897]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
156ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 472ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...