У меня есть таблица со 100 000 записей. Я рассматриваю возможность использования транзакции для обновления данных. Будет один запрос, который обновит один столбец до нуля и приблизит 5000 обновлений, каждый из которых обновит одну запись.Операции со многими обновлениями
Каковы последствия памяти для этих крупных транзакций? Будут ли какие-либо существенные проблемы при выборе данных во время транзакции?
редактировать
- таблицы InnoDB
- это 1 + 5000updates
- и записи обновляются по столбцам, что индексируется
Спасибо за ответы.
Вы пробовали использовать это на своем сервере? Ответы были бы чистой спекуляцией, поскольку мы не знаем ваших спецификаций/архитектуры сервера и ваших настроек MySQL. – ajtrichards
Предполагается, что эти 5000 обновлений выполняются в цикле, и в этом случае значения, записанные на каждой итерации, определяются программно? Если да, может ли эта программа не превращаться в выражение, которое может быть помещено в команду * single * 'UPDATE'? Похоже, вы пытаетесь использовать SQL как процедурный язык, когда он на самом деле является декларативным. – eggyal
Да, эти обновления выполняются внутри цикла. Данные определяются из файла XML. Должен ли я использовать «случай, когда заканчивается»? Каким образом этот синтаксис сделает его лучше? – daemon