1
resposta

Como alterar dados em massa utilizando update no mysql (62300 registros)

Galera, preciso atualizar uma tabela que possui em media 62300 registros (rows), criei uma query através do excel, porém estou com problemas para executar todas as querys que foi gerada. Efetuei um teste e executei 1500 alterações nos registros utilizando as querys, porém demorou 12min para executar todas as querys.... Ou seja, vou levar mais de 3dias para atualizar toda a base. Quero saber se existe alguma alternativa para executar todas as querys de forma mais rápida e segura.

1 resposta

Oii Willian, como vai?

Desculpas pela demora no retorno.

A partir do seu exposto temos algumas abordagens que podem ser feitas visando diminuir o tempo:

  • Realizar a importação de um arquivo csv com a mesma estrutura da tabela e os dados a serem atualizados.
  • Criar uma tabela temporária para inserir os novos dados e realizar uma junção. No caso da junção, pode fazer um INSERT com SELECT dessa tabela temporária, assim, inserindo os dados.
  • Não precisa necessariamente executar tudo em uma única query. É possível executar várias atualizações menores em pequenas partes.

Como é desconhecido para nós sobre a estrutura do seu banco e um conhecimento mais a fundo sobre a realidade dos seus dados, deixarei abaixo alguns links que mostram sobre a atualização em massa. O conteúdo está em inglês, mas com o recurso de tradução de página do próprio navegador é possível compreender:

Espero ter ajudado de alguma forma. Qualquer coisa é só falar, beleza? :)