[firebase-br] Problemas Performance
Maicon Gabriel Schmitz
maicon em rech.com.br
Qui Nov 4 15:35:23 -03 2004
>> SELECT * FROM CLIENTES WHERE NOME_CLIENTE LIKE '%' + Edit1.Text +
>> ' ORDER BY NOME_CLIENTE
Com o % do Like, no inicio da palavra, nenhum Índice é utilizado e logo a tabela tem de ser percorrida por completo para encontrar os registros!
A tendência é piorar com o aumento do número de registros! ;)
Para utilizar um índice, isto é claro, se o campo NOME_CLIENTE possui índice, coloque o % após a palavra, isso deve mudar e muito a performance.
----- Original Message -----
From: "Flavio Yamil" <yamil3 em brturbo.com.br>
To: "'FireBase'" <lista em firebase.com.br>
Sent: Thursday, November 04, 2004 1:04 PM
Subject: RES: [firebase-br] Problemas Performance
Já que vc menciona que o problema começou "de uma hora pra outra", eu faria
alguns testes para isolar os possíveis problemas de rede (física).
Se mesmo assim continuasse demorando, então o problema pode ser máquina
(servidor) ou falta de otimização do banco de dados.
Enfim, uma boa prática para descobrir onde estão os "gargalos", é tentar
isolar as partes do sistema, como rede, banco, máquina, programa, etc.
Flavio Yamil
-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de Adilson B. Cápua Jr.
Enviada em: quinta-feira, 4 de novembro de 2004 01:20
Para: Firebase
Assunto: [firebase-br] Problemas Performance
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
______________________________________________
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