Atualizar tabela do MySQL em partes

Estou tentando atualizar uma tabela do MySQL InnoDB com c. 100 milhões de linhas. A consulta leva quase uma hora, o que não é um problema.

No entanto, gostaria de dividir esta atualização em partes menores para não bloquear o acesso à tabela. Esta atualização não precisa ser uma transação isolada.

Ao mesmo tempo, a divisão da atualização não deve ser muito cara em termos de sobrecarga adicional.

Eu considerei percorrer a tabela em um procedimentousando :

UPDATE TABLENAME SET NEWVAR=<expression> LIMIT batchsize, offset,

Mas UPDATE não tem uma opção de deslocamento no MySQL.

Eu entendo que eu poderia tentar atualizar intervalos de dados que são selecionados em uma chave, junto com a opção LIMIT, mas isso parece bastante complicado para essa tarefa simples.

questionAnswers(1)

yourAnswerToTheQuestion