[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