powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / один или несколько update?
3 сообщений из 3, страница 1 из 1
один или несколько update?
    #32021036
Dimanch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть таблица, которая содержит, скажем так, достаточно большое количество строк. Эта таблица участвует во многих запросах и при многих операциях. Необходимо пересчитать один из столбцов этой таблицы. Вопрос состоит в том, обновлять ли всю таблицу одним 'update' или использовать множество 'update'?
...
Рейтинг: 0 / 0
один или несколько update?
    #32021044
Replicant
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все зависит от того как надо пересчитать, но вобщем возможны варианты:

* Один, но ДООООООЛГИЙ "update":
если 1 транзакция (если очень много строк, то transaction log может серьезно вырасти),
к-рую всю можно потом откатить без проблем даже если строки апдейтились
в зависимости от значений других строк(хотя в таких случаях пользуются курсорами),
если без курсора, то можно надолго заблокировать всю таблицу

* Много, но КОРОТКИХ "update'ov":
если поумолчанию (autocommit), то откатить строку назад уже нельзя(если строка может быть
изменена только для конкертных значений,то данный вариант не подходит),
зато блокируется только одна строка
если все в пределах 1 транзакции, то разницы никакой нет - все равно что один ДООООООЛГИЙ "update"

Удачи
...
Рейтинг: 0 / 0
один или несколько update?
    #32021051
Я так понимаю, что ты говоришь про обновление обязательно в рамках одной транзакции?
Тогда только один UPDATE with(rowlock).
Один совет - Иногда может помочь расчёт нового значения столбца (или его дельты) вынести в отдельную операцию (вставка в переменную-таблицу), для максимального ускорения самого UPDATE.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / один или несколько update?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]