[firebase-br] Problemas Performance

eduardo eduardo em icontroller.com.br
Qui Nov 4 01:46:25 -03 2004


Algumas hipóteses para investigar
- Existem BLOBs retornando na Query ? - Se positivo, e se forem 
Graphics, e se vc tiver habilitado fetch Blobs, isso pode estar 
sobrecarregando;
- '%A%' vai retornar qualquer coisa que tenha 'A', assim, você pode 
estar retornando quase todos os 60.000 registros e isso fica tudo na 
memória, exaurindo os recursos do sistema. Recomenda-se que não deixemos 
o usuário buscar mais de 500 a 1000 registros, mesmo porque, escolher 1 
em 1000  não é muito confortável, imagine em 6000.
- Experimente usar um PacketRecords de 100 e verificar se há melhora na 
performance. Se houver é porque vc deve realmente estar trazendo muitos 
registros em um DataSet na memória
- em bancos de teste, se deletamos e incluimos repetidamente, podemos 
causar excesso de lixo no BD e prejudicar a performance. Um 
backup/Restore pode resolver.
- Procure reavaliar o *. Muitas vezes campos chave e chaves estrangeiras 
não interessam ao usuário
- Outras coisas a verificar dizem respeito a Sistema Operacional e 
Discos, como estado de desfragmentação do volume, quantidade de espaço 
em disco, outros aplicativos concorrentes utilizando uma porçao grande 
da CPU, etc

Bem, a quase 2 da manhã, é o que eu consigo lembrar, talvez algum outro 
amigo possa acrescentar mais alguma coisa.
Espero ter ajudado

[ ]'s Eduardo

Adilson B. Cápua Jr. wrote:

>PessoALL,
> 
>    No meu projeto envolvendo Firebird 1.5 + DBExpress + Delphi 7, me
>daparei
>com um problema que não faço a mínima idéia do motivo. Para testar a
>aplicação,
>criei uma base de dados com aproximadamente 60.000 mil registros (clientes).
>
>Numa tela de consulta, permito que o meu usuário digite as iniciais do
>cliente e então
>faço uma busca usando um select mais ou menos assim:
> 
>SELECT * FROM CLIENTES WHERE NOME_CLIENTE LIKE '%' + Edit1.Text +
> ' ORDER BY NOME_CLIENTE
> 
>Nota: Preciso usar o * mesmo, pois todos os campos do cadastro são
>necessários
>na consulta...
> 
>    Até ontem (dia 02/11), caso o usuário digitasse por exemplo a letra "A"
>e solicitasse
>a pesquisa, o banco quase que imediatamente retornava os 6.000 clientes que
>começam
>com a letra "A"... Não sei por que o motivo, esse tempo passou para quase 10
>ou 15
>segundos... Se eu especificar mais o nome, como "ADILSON" por exemplo, o
>retorno
>é quase que imediato... Já quando a query retorna muitos registros, chega a
>demorar
>bastante...
> 
> Alguém tem alguma idéia do porque disso???
> 
>Qualquer ajuda é bem vinda...
> 
> 
>[]'s
> 
>
>---
>Outgoing mail is certified Virus Free.
>Checked by AVG anti-virus system (http://www.grisoft.com).
>Version: 6.0.788 / Virus Database: 533 - Release Date: 01/11/2004
> 
>______________________________________________
>FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
>Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>
>
>  
>





Mais detalhes sobre a lista de discussão lista