Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
производительность триггеров
|
|||
|---|---|---|---|
|
#18+
Заглянул тут в один Execution Plan и обнаружил загадочный факт - сканирование таблиц inserted и deleted происходит оччень продолжительное время (до 99% от всего батча), что мне совсем не понравилось. Вопрос - так действительно происходит или это глюк QA? Если первое, то можно ли с таким бороться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2002, 13:15 |
|
||
|
производительность триггеров
|
|||
|---|---|---|---|
|
#18+
сканирование таблиц inserted и deleted происходит оччень продолжительное время (до 99% от всего батча), что мне совсем не понравилось. Что именно вы подразумеваете под "сканированием" (Table scan ?) Ну и конечно, что за запрос у вас выполнятся в триггере ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2002, 14:41 |
|
||
|
производительность триггеров
|
|||
|---|---|---|---|
|
#18+
Триггер примерно такой: create trigger T_SomeTrigger ON dbo.SomeMasterTable for update, delete as delete from SomeSlaveTable where ID in (select ID from deleted) and not ID in (select ID from inserted where Status>0) Базы порядка 50-70 тысяч записей. План такой: Deleted Scan - 49% (~0.5 сек) Inserted Scan - 49% (~0.5 сек) Clustered Index Delete - 1% Сервер - Microsoft SQL Server 2000 - 8.00.534 (Intel X86) Enterprise Edition on Windows NT 5.0 (Build 2195: ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2002, 15:12 |
|
||
|
производительность триггеров
|
|||
|---|---|---|---|
|
#18+
а если не использовать IN? напишите как-нибудь так: create trigger T_SomeTrigger ON dbo.SomeMasterTable for update, delete as delete s from SomeSlaveTable s, deleted d where s.ID=d.ID and not exists(select * from inserted i where Status>0 and d.ID=s.ID) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2002, 05:59 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32030769&tid=1822675]: |
0ms |
get settings: |
8ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
137ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 231ms |
| total: | 469ms |

| 0 / 0 |
