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

Jancarlos Martins jancarlos.martins em gmail.com
Sex Fev 10 10:59:23 -03 2012


Existe varias formas de transferencia de dados, mas toda transferencia deve
ser feito um commit a cada 500 registros por exemplo.

Tenho tabelas com 1 milhão de registros, se for usar WHERE na select use
campos com PK,FK ou índices fica muito rápido não demora tanto assim.

Até +

Jancarlos P. Martins
Defence Informática
Cianorte-PR



Em 10 de fevereiro de 2012 10:32, Paulo Portella <
pportellaa.firebase em gmail.com> escreveu:

> Bom dia Marcos,
> Não tenho nenhuma bronca com o IBO, mas eu tenho absoluta certeza que se
> você estivesse utilizando DBX esse problema de travamento não aconteceria.
> Sou prova disso, pois certa ida fiz uma tratativa igual a sua, só que com
> registros que ultrapassavam as casas das Unidades de Bilhões de registros,
> e em momento algum houve travamento.
>
> Em outra ida, tambem com importação de registros, mas vindos do MySql
> dessa vez, eu fui obrigado a fazer mais ou menos assim:
> vMax:=SELECT MAX(ID) FROM TABELA_MYSQL
>
> for i:=0 to vMax do
> begin
>  sqlOrigem.Close;
>  sqlOrigem.CommandText:='SELECT * FROM TABELA_MYSQL WHERE ID =
> '+QuotedStr(i);
>  sqlOrigem.Open;
>  sqlConnectionFirebird.**ExecuteDirect:='INSERT OR UPDATE TABLE
> TABELA_FIREBIRD SET CAMPOS 'blablabla;
> end;
>
> Consegui passar uma idéia?
>
> "Vivam de maneira que as pessoas que os conheçam, ainda que não conheçam a
> CRISTO, queiram CONHECÊ-LO por conhecerem vocês"
> H. David Burton
>
>
> Em 10/02/2012 10:24, Marcos Weimer escreveu:
>
>  show de bola.
>>
>> hj aprendi 2 comandos novos!  skip e rows!
>>
>> obrigado a todos
>>
>> -=Ma®©oS=-
>> Marcos R. Weimer
>> Puma GTE 1974 Tubarão
>> Delphi / C# / ASP.NET / WebServices / Firebird
>>
>>
>>
>>
>>  Em 10 de fevereiro de 2012 10:09, Diego Bulgarelli<diegobulg em gmail.com**
>>> >escreveu:
>>>
>>> Bom dia
>>>
>>>> Acredito que este código é meio pesadinho mesmo.
>>>> Acabei de me lembrar que tem outra forma de fazer isso que é muito mais
>>>> leve:
>>>> SELECT *CODIGO, NOME, ETC* FROM TABELA ORDER BY CODIGO *ROWS 1 TO 10000*
>>>> SELECT CODIGO, NOME, ETC FROM TABELA ORDER BY CODIGO *ROWS 10001 TO
>>>> 20000*
>>>> SELECT CODIGO, NOME, ETC FROM TABELA ORDER BY CODIGO *ROWS 20001 TO
>>>> 30000*
>>>> Precisa usar * mesmo? são muitos campos né.
>>>> Desculpe, eu podia ter falado este SQL antes, mas eu tinha esquecido
>>>> mesmo.
>>>> Se possível me fale os resultados, estou curioso :)
>>>>
>>>> Atenciosamente
>>>> Diego Bulgarelli
>>>>
>>>>
>>>>  ______________________________**________________
>> 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<http://www.firebase.com.br/fb/artigo.php?id=1107>
>> Para consultar mensagens antigas: http://firebase.com.br/**pesquisa<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<http://www.firebase.com.br/fb/artigo.php?id=1107>
> Para consultar mensagens antigas: http://firebase.com.br/**pesquisa<http://firebase.com.br/pesquisa>
>



Mais detalhes sobre a lista de discussão lista