Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
один или несколько update?
|
|||
|---|---|---|---|
|
#18+
Есть таблица, которая содержит, скажем так, достаточно большое количество строк. Эта таблица участвует во многих запросах и при многих операциях. Необходимо пересчитать один из столбцов этой таблицы. Вопрос состоит в том, обновлять ли всю таблицу одним 'update' или использовать множество 'update'? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2002, 06:16 |
|
||
|
один или несколько update?
|
|||
|---|---|---|---|
|
#18+
Все зависит от того как надо пересчитать, но вобщем возможны варианты: * Один, но ДООООООЛГИЙ "update": если 1 транзакция (если очень много строк, то transaction log может серьезно вырасти), к-рую всю можно потом откатить без проблем даже если строки апдейтились в зависимости от значений других строк(хотя в таких случаях пользуются курсорами), если без курсора, то можно надолго заблокировать всю таблицу * Много, но КОРОТКИХ "update'ov": если поумолчанию (autocommit), то откатить строку назад уже нельзя(если строка может быть изменена только для конкертных значений,то данный вариант не подходит), зато блокируется только одна строка если все в пределах 1 транзакции, то разницы никакой нет - все равно что один ДООООООЛГИЙ "update" Удачи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2002, 07:22 |
|
||
|
один или несколько update?
|
|||
|---|---|---|---|
|
#18+
Я так понимаю, что ты говоришь про обновление обязательно в рамках одной транзакции? Тогда только один UPDATE with(rowlock). Один совет - Иногда может помочь расчёт нового значения столбца (или его дельты) вынести в отдельную операцию (вставка в переменную-таблицу), для максимального ускорения самого UPDATE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2002, 14:34 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32021036&tid=1824274]: |
0ms |
get settings: |
6ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
72ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
23ms |
get tp. blocked users: |
1ms |
| others: | 251ms |
| total: | 382ms |

| 0 / 0 |
