[firebase-br] Update de 1M Registros
Frederico Godoi
frederico.godoi em gmail.com
Terça Agosto 12 20:01:47 -03 2025
Amigos estou com um desafio onde estou tentando ganhar performance em uma
importação muito grande. 1,5 milhão de registros. Esse é um arquivo diário
que precisa ser sincronizado :
- não existe o registro, insert;
- já existe o registro, update marcando que veio.
- registros não enviados , update mudando status.
A maneira mais rápida até agora para sincronizar isso no banco até agora,
foi fazendo um pump para uma tabela temporária. faço isso com execute block
muito rapidamente.
agora para sincronizar:
Faço select from tmp where not exists ( select from tabela persistente )
onde pego os novos.
Desafio:
Todos os 1,5 milhão de registros coincidentes preciso marcar que vieram no
arquivo. AQUI pesa.
Se eu fizer um update direto , eu faço provoco um Lock Conflict na base
toda e estou com usuários concorrendo , não posso fazer uma transação única.
Se eu faço update , usando ROWS , está demorando um pouco
Se eu faço update , fazendo select first x skip y , vai degradando muito a
cada select.
Alguém já passou por algo parecido ?
--
Frederico Godoi
Mais detalhes sobre a lista de discussão lista