[firebase-br] Lentidao em Base de dados Grande

Juliano Gomes Weber julianors em gmail.com
Sex Jan 22 09:37:21 -03 2010


Colegas, apenas contribuindo, retorne apenas as colunas necessárias e não
todas. Verifique se todas tuas chaves lógicas são indexadas. Com isto não
tem motivo para ser lento.

Espero ter ajudado
Juliano.

2010/1/22 Rodrigo <dominio em engeplus.com.br>

> Bom dia Reijanio,
>
> Ja faço isso, ex. na tabela pedidos peço para abrir assim.
>
> DM.IBPedidos.Close;
> DM.IBPedidos.SQL.Clear;
> DM.IBPedidos.SQL.ADD('SELECT * FROM PEDIDOS WHERE CODIGO=' +
> QUOTEDSTR('0')');  // abre o codigo zero que nao existe, por tanto, so abre
> a tabela nao retornando registro nenhum...
> DM.IBPedidos.Open;
>
> DM.IBItens.Close;
> DM.IBItens.SQL.Clear;
> DM.IBItens.Add('SELECT * FROM ITENS WHERE CODIGO=:CODIGO');
> DM.IBItens.Parambyname('Codigo').AsInteger:= DM.IBPedidosCodigo.Value;
> DM.IBItens.Open;
>
> DM.IBPagto.Close;
> DM.IBPagto.SQL.Clear;
> DM.IBPagto.Add('SELECT * FROM PAGTO WHERE CODIGO=:CODIGO');
> DM.IBPagto.Parambyname('Codigo').AsInteger:= DM.IBPedidosCodigo.Value;
> DM.IBPagto.Open;
>
>
> Dessa forma ja nao limita?
>
> Grato,
> Rodrigo
>
> ----- Original Message ----- From: "Reijanio Nunes Ribeiro" <
> rnribeiro em gmail.com>
> To: "FireBase" <lista em firebase.com.br>
> Sent: Thursday, January 21, 2010 6:32 PM
> Subject: Re: [firebase-br] Lentidao em Base de dados Grande
>
>
> não seria interessante tu limitar teu select usando firts/skip
>
> 2010/1/21 Rodrigo <dominio em engeplus.com.br>
>
>  Oi Eduardo, boa tarde,
>>
>> Deixa eu tentar te explicar qual a situação
>>
>> Com a mudança dos sistemas para o PAF-ECF, estou transferindo os dados da
>> Frente de Loja para a Retaguarda.
>>
>> No estado atual a Tabela Pedidos ta em torno de 280,000 registros e a
>> tabela itens em torno de uns 800.000 registros e a tabela pagto uns
>> 350.000
>> registros. A tabela estoque uns 20.000 registros.
>>
>> Faço tudo com IBOQuery nao utilizo IBTable.
>>
>> - O primeiro registro faz rapido da Tabela PEDIDOS da Frente de Loja para
>> Retaguarda.  2 segundos
>>
>> - Ja a tabela ITENS faz inserção da Frente de Loja para a Retaguarda e
>> atualiza estoque na tabela estoque e atualiza uma tabela chamada movimento
>> com a movimentação do estoque. 30 segundos
>>
>> - Ja a tabela PAGTO faz inserção da Frete de Loja para Retaguarda e
>> atualiza todas as formas de pagto possiveis, como Caixa, Contas a Receber,
>> Cartao etc... 10 segundos aprox.
>>
>> Para transferir uma venda em torno de 42 segundos, imagina passar 300
>> vendas diarias. leva mais tempo atualizando do que vendendo. hehe
>>
>> Minha esperança é que tivesse alguma propriedade que pudesse alterar para
>> nao ler a quantidade de registros ja existentes na tabela, dessa forma
>> aumentando o desempenho.
>>
>> Grato,
>>
>> Rodrigo
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> ----- Original Message ----- From: "Eduardo Bahiense" <
>> eduardo em icontroller.com.br>
>> To: <lista em firebase.com.br>
>> Sent: Thursday, January 21, 2010 5:04 PM
>> Subject: Re: [firebase-br] Lentidao em Base de dados Grande
>>
>>
>>
>> Olá Rodrigo
>>
>> Se você está usando algo como TTable no Delphi e codificando
>>
>> Table.Insert;
>> Table.Field[n].Asinteger := 0;
>> Table.Post;
>>
>> e tiver controles dataware ativos, não há cristo que possa te ajudar.
>>
>> Talvez, se vc der um table.disablecontrols, inserir e fizer um
>> table.enablecontrols, você consiga algum pequeno ganho, mas o ideal é
>> esquecer essa história de table e trabalhar sempre com queries,
>> recuperando somente um número limitados de registros.
>>
>> Eduardo
>>
>> Estou com uma base de dados com mais ou menos 1.500.000 registros.
>>
>>>
>>> Uso IBOQuery para fazer umas consultas e inserções. O Caso é o seguinte,
>>> quando vou inserir um item em uma destas tabelas com 400.000 registros
>>> demora
>>> muito para concluir, parece que ele abre todos os registros, depois
>>> atualiza
>>> depois
>>> reabre todos os registros. Quando uso a base de dados limpa fica que é
>>> uma
>>> bala,
>>> mas com esse tanto de registros fica bem lenta.
>>>
>>>
>>
>> ______________________________________________
>> 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
>>
>> __________ NOD32 4793 (20100121) Information __________
>>
>> This message was checked by NOD32 antivirus system.
>> http://www.eset.com
>>
>>
>>
>>
>> ______________________________________________
>> 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
>
> __________ NOD32 4794 (20100121) Information __________
>
> This message was checked by NOD32 antivirus system.
> http://www.eset.com
>
>
>
> ______________________________________________
> 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