[firebase-br] Update de 1M Registros
Paulo H Albanez
phalbanez em gmail.com
Quarta Agosto 13 08:38:27 -03 2025
Do lado do cliente você deve ter uma transação separada e fazer os updates
em lotes (tamanho tem que ir testando 500, 1000, 5000...) isso deve ajudar
pelo menos nos updates
Você pode tentar também, mudar o tipo de transação e as configurações no
componente de conexão e dados.
Só fazendo testes mesmo, cada caso é uma caso.
Atenciosamente,
Paulo Henrique Albanez (Pha)
São Francisco do Sul / SC - Brasil
Em ter., 12 de ago. de 2025 às 20:03, Frederico Godoi via lista <
lista em firebase.com.br> escreveu:
> 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
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas:
> http://www.firebase.com.br/pesquisa_lista.html
>
Mais detalhes sobre a lista de discussão lista