Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Тормоза в триггере
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток! Простейший update в after statement триггере выполняется более секунды. Если вынести его из триггера, то он выполняется за 0,008 сек. Как можно увидеть план выполнения триггера? Выполнить rebind для trigger package с опцией explain(yes)? DB2 10 for z/OS ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2013, 09:29 |
|
||
|
Тормоза в триггере
|
|||
|---|---|---|---|
|
#18+
ankalexДоброго времени суток! Простейший update в after statement триггере выполняется более секунды. Если вынести его из триггера, то он выполняется за 0,008 сек. Как можно увидеть план выполнения триггера? Выполнить rebind для trigger package с опцией explain(yes)? DB2 10 for z/OS А можно код триггера сюда прикрепить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2013, 09:44 |
|
||
|
Тормоза в триггере
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. По всем используемым в запросе полям есть индексы. Кроме того, если в условие WHERE написать константу, а Код: sql 1. перенести в блок присваивания значения переменной OK, то триггер отрабатывает также за 0,008 сек. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2013, 10:07 |
|
||
|
Тормоза в триггере
|
|||
|---|---|---|---|
|
#18+
ankalex Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. По всем используемым в запросе полям есть индексы. Кроме того, если в условие WHERE написать константу, а Код: sql 1. перенести в блок присваивания значения переменной OK, то триггер отрабатывает также за 0,008 сек. А каков размер (кол-во строк) в таблице T3, может быть индекс не подтягивается ID_SEARCH IN - сопоставимо множеству условий or. Условие нельзя без In переписать как то так? Код: plsql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2013, 10:15 |
|
||
|
Тормоза в триггере
|
|||
|---|---|---|---|
|
#18+
ankalexКроме того, если в условие WHERE написать константу, ... Как в db2 for z/OS не знаю, но в db2 LUW была аналогичная проблема при сравнении полей, допускающих NULL с полями NOT NULL или константами. Решилась явным приведением NULL-able полей, т.е. вместо some_table.some_filed = some_declared_variable использовал COALESCE(some_table.some_filed, 0) = some_declared_variable ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2013, 16:07 |
|
||
|
Тормоза в триггере
|
|||
|---|---|---|---|
|
#18+
По поводу переписывания запроса - пробовал, ускорялось в 2 раза, а надо - в 100. По поводу использования COALESCE - в этом случае ведь индекс не подхватится. А вообще, для теста я делал update, при котором Код: sql 1. не возвращает строк, и, тем не менее, триггер всегда выполнялся более полусекунды. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2013, 10:26 |
|
||
|
Тормоза в триггере
|
|||
|---|---|---|---|
|
#18+
ankalexПо поводу переписывания запроса - пробовал, ускорялось в 2 раза, а надо - в 100. По поводу использования COALESCE - в этом случае ведь индекс не подхватится. А вообще, для теста я делал update, при котором Код: sql 1. не возвращает строк, и, тем не менее, триггер всегда выполнялся более полусекунды. Можно было бы посоветовать поиграться с Optimization level или уровень изоляции понизить, но хрен там - это же DB2 м в триггере это запрещено! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2013, 10:37 |
|
||
|
|

start [/forum/topic.php?fid=43&msg=38209433&tid=1601467]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
54ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
| others: | 13ms |
| total: | 155ms |

| 0 / 0 |
