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

Felipe Aron felipearon em gmail.com
Sex Fev 10 09:29:19 -03 2012


Interessante o esquema do SKIP. Nesse caso, é mais interessante, em termos
de performance usar o *skip *ou *between*?

Em 10 de fevereiro de 2012 09:20, Nivaldo Martins
<nivaldomart em gmail.com>escreveu:

> Olá, talvez o subselect esteja causando a lentidão
>
> use:
>
> para os primeiros 10.0000:
>
> select first 10000 from tabela
>
> para os seguintes:
>
> select first 10000 skip 10000 from tabela
>
> select first 10000 skip 20000 from tabela
>
> e assim por diante
>
> veja se melhora
>
>
> sds,
>
> Nivaldo Martins
> Salvador - BA
>
>
>
> Em 10 de fevereiro de 2012 08:46, Diego Bulgarelli
> <diegobulg em gmail.com>escreveu:
>
> > 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
> > >
> > ______________________________________________
> > 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
> >
> ______________________________________________
> 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
>



-- 
Analista-Programador
#FollowMe: @felipearon <http://twitter.com/felipearon> (
http://felipearon.net)



Mais detalhes sobre a lista de discussão lista