@samlewis

Для чего пишут LIMIT в UPDATE?

Я видел, что пишут в запросе UPDATE LIMIT. Зачем он там нужен? Имеет ли смысл туда его ставить? И на что влияет? Скажите, пожалуйста..
  • Вопрос задан
  • 4531 просмотр
Решения вопроса 3
toxa82
@toxa82
Например у нас миллионы строк в таблице которым нужно изменить флаг, чтоб не делать это одним запросом который заблокирует всю таблицу, делается бесконечный цикл с условием что изменены > 0 строк и с помощью лимита ограничивается кол-во строк для апдэйта. Так флаг меняется небольшими пачками (100, 500, 1000 строк), которые выполняются быстрее и не блокируют всю таблицу, что позволяет избежать deadlock'и.
Ответ написан
Комментировать
pi314
@pi314
Президент Солнечной системы и окрестностей
LIMIT имеет смысл только в сочетании с ORDER BY. Например, выдать конфетку трем победителям:
UPDATE users SET candy=candy+1 ORDER BY score DESC LIMIT 3
Ответ написан
Комментировать
Зависит от ситуации..
Например нам нужно обновить только 1 запись а у нас много записей с одинаковыми свойствами.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы