Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Trigger или StoredProcedure
|
|||
|---|---|---|---|
|
#18+
Может кто сталкивался? Подскажите. Есть sp в которой проверяются условия и в зависимости от условия делается лидо insert или update в таблицу. Причем приходится выполнять много проверок. А что если делать просто insert, а проверки делать в триггере? Какое решение оптимальнее с точки зрения работы БД? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2001, 07:45 |
|
||
|
Trigger или StoredProcedure
|
|||
|---|---|---|---|
|
#18+
Все зависит от подробностей, но одно из правил: триггер должен выполнять лишь необходимый минимум операций, чтобы не блокировать таблицу лишнее время. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2001, 08:30 |
|
||
|
Trigger или StoredProcedure
|
|||
|---|---|---|---|
|
#18+
Подробности. Каждый день надо запускать упомянутую SP, которая обсчитывает изменения и ставляет/обновляет результаты в БД. SP обсчивает примерно 100 тыс. и > записей, и вставляет/обновляет примерно столько же записей. Процедуру можно запускать, например ночью, когда с БД никто не работает. Попутный вопрос. Нужно чтобы вся процедура пересчета выполнялась одной транзакцией. Т.е. обновить/вставить записи для всех, условно говоря "счетов" или ни для одного. Как поступить? Открывать транзакцию -> запускать процедуру -> проверять -> закрывать транзакцию? Или есть другие варианты? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2001, 08:58 |
|
||
|
Trigger или StoredProcedure
|
|||
|---|---|---|---|
|
#18+
На мой взгляд триггеры оправдывают себя только в том случае, если доступ к таблицам возможен из различных приложений и при этом необходимо обеспечить логическую целостность БД. Если же БД 'закрытая' и доступ к данным обеспечивается только путем вызова хранимых процедур триггеры особо и не нужны. Кроме того использование триггеров в этом случае может привести к понижению производительности за счет: а) возможной дополнительной обработки таблиц INSERTED, DELETED; б) исключения возможности использования SQL Server-ом 'прямых' обновлений записей при UPDATE-ах. А транзакцию правильней открывать, закрывать и откатывать в самой процедуре. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2002, 06:46 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32020051&tid=1824442]: |
0ms |
get settings: |
12ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
60ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 268ms |
| total: | 417ms |

| 0 / 0 |
