[firebase-br] Out of memory - Muitos registros na tabela

Diego Bulgarelli diegobulg em gmail.com
Sex Fev 10 08:46:20 -03 2012


Bom dia! :)

Não sei se é a melhor solução, mas e se você selecionar de blocos em blocos
de registros?
Ex:
SELECT FIRST 10000  --> Pega os 10000 primeiros registros
FROM TABELA
ORDER BY CODIGO;

SELECT FIRST 10000  --> Pega os 10000 primeiros registros, que não
estiverem dentro dos 10000 já retornados
FROM TABELA
*WHERE CODIGO NOT IN (SELECT FIRST 10000 FROM TABELA ORDER BY CODIGO) *
ORDER BY CODIGO;

SELECT FIRST 10000  --> Pega os 10000 primeiros registros, que não
estiverem dentro dos 20000 já retornados
FROM TABELA
WHERE CODIGO NOT IN (SELECT FIRST *20000* FROM TABELA ORDER BY CODIGO)
ORDER BY CODIGO;

Espero ter ajudado
Diego Bulgarelli

Em 10 de fevereiro de 2012 08:36, Marcos Weimer
<marcosweimer em gmail.com>escreveu:

> Bom dia
>
> Estou desenvolvendo uma rotina que transfere os dados de uma tabela
> especifica de um banco para outro.
> Faço da seguinte forma.
> - Monto a query dinamicamente conforme os campos da tabela
> - rodo o select
> - conecto no outro banco e vou transferindo os dados
> ae chega uma hora que ocorre o out of memory
>
>
> Se rodo o select e efetuo o fetchall na query ae ja vai tudo para o brejo.
>
> A tabela tem as seguintes caracteristicas:
> - 96 campos (numeric, string, varchar, date)
> -  4.365.973 registros
> Isso mesmo.... este é o numero de registros que a query me retorna se
> executo um recordcount antes do fetchall
>
> Se não executo o fetchall o erro tb ocorre mais demoooooora pra chegar até
> o ponto que acaba com a memoria...
> a cada 8 registros que passo, aloca de 8 a 12K de memoria
>
> Para conexão com o banco uso IBO 4.9.12
>
> Lembrando que isso aconteceria apenas em uma primeira sincronização, depois
> seria transferido apenas os dados alterados.
>
> e ai.. alguma sugestão ? tem como "descarregar" os registros que ja
> passaram ??? (estou na pagina 2 e descarregar a 1)
>
> Mandei email aqui, pq acho que esta mais ligado a banco do que ao framework
> de desenvolvimento.
>
> att
>
> -=Ma®©oS=-
> Marcos R. Weimer
> Puma GTE 1974 Tubarão
> Delphi / C# / ASP.NET / WebServices / Firebird
> ______________________________________________
> 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://firebase.com.br/pesquisa
>



Mais detalhes sobre a lista de discussão lista