Re: [Norton AntiSpam] Re: [firebase-br] Otimização de consult

Eduardo Jedliczka eduardo em gerasoft.com.br
Seg Jun 6 13:11:46 -03 2005


Exemplo: você quer uma listagem apenas dos clientes que tenham pedido:

Select C.CodCliente, C.Nome
>From Clientes C
Where Exists (Select First 1 'qquercoisa' From pedidos P where
P.CodCliente=C.CodCliente)

Assim, é muito mas rápido do que um:

Select C.CodCliente, C.Nome
>From Clientes C
Where C.CodCliente in (Select distinct P.CodCliente pedidos P)

[s]

==========================
Eduardo Jedliczka
Gerasoft Informática
Apucarana - Pr
==========================

----- Original Message ----- 
From: "Jorge Henrique Aguiar" <jorgehenrique em americamoveis.com>
To: "'FireBase'" <lista em firebase.com.br>
Sent: Monday, June 06, 2005 11:58 AM
Subject: RES: [Norton AntiSpam] Re: [firebase-br] Otimização de consult


> Aproveitando, vc poderia me passar um exemplo de como usar o comando
EXISTS?
>
> Obrigado,
>
> Jorge Henrique
>
> -----Mensagem original-----
> De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br]
Em
> nome de Eduardo Jedliczka
> Enviada em: segunda-feira, 6 de junho de 2005 08:12
> Para: FireBase
> Assunto: [Norton AntiSpam] Re: [firebase-br] Otimização de consult
>
> Crescer 5MB por semana não é justificativa para ficar lento, exceto se:
>
> - Você estiver utilizando TTable (ou algo semelhante);
> - Estiver utilizando BDE;
> - Utilizar Like começando com '%'
> - Fazer group by por funções (cast, extract, substr) ou UDFs
> - "Select * from tabela" sem where
> - Select Distict com um join mal-formado (produto cartesiano)
> - where XXX in (Select *) ao invés do Exists
> - Aprenda a analisar os Plans... às vezes índices demais atrapalham...
>
> [s]
>
> ==========================
> Eduardo Jedliczka
> Gerasoft Informática
> Apucarana - Pr
> ==========================
>
> ----- Original Message ----- 
> From: "Juarez - HS - Softwares" <hipersimples em terra.com.br>
> To: <lista em firebase.com.br>
> Sent: Saturday, June 04, 2005 3:06 PM
> Subject: [firebase-br] Otimização de consultas
>
>
> > Oi pessoal, tenho notado que gradativamente ao encher a base de dados de
> um
> > cliente meu que aumenta cerca de 5Mb por semana, os relatórios vão
ficando
> > cada vez mais lentos, isso é normal acontecer no firebird mesmo para
cada
> > campo da filtragem de consulta sendo indexado?
> >
> > Onde posso encontrar as melhores dicas de otimização de consultas e
> > velocidade do firebird, eu já deixei de usar o LEFT OUTER JOIN, fiz sub
> > selects, verifiquei se não havia nenhum campo não indexado, está tudo i
> ndo
> > bem e a velocidade depois disso melhorou consideravelmente, existe mais
> algo
> > que eu possa fazer? Agradeço qualquer ajuda sobre.
> >
> >
> > Obrigado,
> >
> > Juarez A. Mendes
> >
> >
> > ______________________________________________
> > 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
> > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> >
> >
>
>
> ______________________________________________
> 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
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
>
> ______________________________________________
> 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
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>





Mais detalhes sobre a lista de discussão lista