[firebase-br] RES: 1.000.000 de registros

João Dias jdias.bjsoftware em gmail.com
Ter Ago 18 15:08:36 -03 2009


Prezado

Fiz o teste aqui na minha máquina, criei uma tabela com ID inteiro de 
DESCRICAO com Varchar(40).
Inseri 1.000.000 de registros na mesma com uma procedure, executei o 
comando select e mandei ir ao último registro

Aconteceu tudo normal o que me leva a deduzir que:

Ao tentar dar o Fetch  no IbExpert para o útlimo registro,  que por sua 
vez utiliza um dataset unidirecional e somente à medida que você vai 
rolando bufferiza o conteúdo, ele coloca o conteúdo do cursor de volta 
na sua memória até que Dump! Temos uma memória com flood;

O fato de não acontecer nada na minha máquina é porque tenho uma 
quantidade razoável de memória e somente usei duas colunas.. no seu caso 
são várias o que leva mais espaço em memória;

Tente usar um cursor unidirecional para o caso e sempre que precisar ir 
ao último registro em qualquer banco de dados um SELECT MAX(ID) FROM 
TABELA é infinitamente menos custoso que o processo em memória

Espero ter ajudado


-- 
João Dias de Carvalho Neto
jdias.bjsoftware em gmail.com

Quer Artigos de Patterns GOF e Patterns Corporativos com vídeo aula e Fontes Demonstrativos?
vá a http://www.jdiasneto.blogspot.com



William C. Augustonelli escreveu:
> Tentei o ibexpert com FB 2.5 beta, FB 2.1 e FB 2.0
>
> montando um programinha no Delphi e no C# tbm.. todos com o mesmo erro
>
> ----- Original Message ----- From: "Felix" <felix2005 em oi.com.br>
> To: "'FireBase'" <lista em firebase.com.br>
> Sent: Tuesday, August 18, 2009 2:34 PM
> Subject: [firebase-br] RES: 1.000.000 de registros
>
>
> Fiquei na dúvida: qual ferramenta está sendo usada para execução da 
> query?
>
>
> Fco. Felix
> Desenvolvimento de Sistemas
> www.soltecnologia.com.br
>
>
> -----Mensagem original-----
> De: lista-bounces em firebase.com.br 
> [mailto:lista-bounces em firebase.com.br] Em
> nome de William C. Augustonelli
> Enviada em: terça-feira, 18 de agosto de 2009 14:17
> Para: FireBase
> Assunto: [firebase-br] 1.000.000 de registros
>
> Amigos,
>
> Boa tarde....
>
> Veja se alguem pode ajudar...
>
> um aluno meu criou a seguinte tabela:
>
> CREATE TABLE FUNCIONARIOS (
>    COD             INTEGER NOT NULL,
>    NOME            VARCHAR(200),
>    ENDERCO         VARCHAR(200),
>    NUMERO          INTEGER,
>    COMPLEMENTO     VARCHAR(50),
>    BAIRRO          VARCHAR(80),
>    CIDADE          VARCHAR(80),
>    ESTADO          VARCHAR(80),
>    CEP             VARCHAR(25),
>    TELEFONE        VARCHAR(25),
>    CELULAR         VARCHAR(25),
>    MAIL            VARCHAR(80),
>    FOTO            VARCHAR(300),
>    RG              VARCHAR(12),
>    CPF             VARCHAR(15),
>    COD_FUNCAO      INTEGER,
>    COD_DEP         INTEGER,
>    TIPO_SALARIO    CHAR(1),
>    VALOR_SALARIO   NUMERIC(15,2),
>    DATA_ADMISSAO   DATE,
>    PAI             VARCHAR(80),
>    MAE             VARCHAR(80),
>    COD_BANCO       INTEGER,
>    NR_AGENCIA      VARCHAR(15),
>    NR_CONTA        VARCHAR(20),
>    GRAU_INSTRUCAO  INTEGER,
>    NASCIMENTO      DATE,
>    COD_SINDICATO   INTEGER,
>    CTPS            VARCHAR(30),
>    SERIE           VARCHAR(8),
>    TITULO_ELEITOR  VARCHAR(30)
> );
>
> Ao dar um select * from funcionarios ou o select abaixo:
>
> select funcionarios.cod,
>        funcionarios.nome,
>        funcionarios.numero,
>        funcionarios.complemento,
>        funcionarios.bairro,
>        funcionarios.cidade,
>        funcionarios.estado,
>        funcionarios.cep,
>        funcionarios.telefone,
>        funcionarios.celular,
>        funcionarios.mail,
>        funcionarios.rg,
>        funcionarios.cpf,
>        funcionarios.cod_funcao
> from funcionarios
>
> os dados seguem a ser exibidos na tela, mas ao pedir pra ir pro ultimo
> registro, da OUT OF MEMORY.
>
> sei que vao dizer, pra que trazer 1.000.000 de registros, mas era um 
> teste
> de desempenho e em outros bancos funcionou normalmente.
>
> se alguem puder ajudar agradeço.
>
> Billy
>
>
> ______________________________________________
> 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
>
>
> -------------------------------------------------------------------------------- 
>
>
>
>
> Nenhum vírus encontrado nessa mensagem recebida.
> Verificado por AVG - www.avgbrasil.com.br
> Versão: 8.5.375 / Banco de dados de vírus: 270.13.60/2311 - Data de 
> Lançamento: 08/18/09 06:03:00
>
>
> ______________________________________________
> 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