[firebase-br] Select com comportamento estranho demais

Denis denisrocha em hotmail.com
Ter Jun 19 11:08:39 -03 2007


Por algum motivo ele não usa os planos corretamente. Aí eu já nem sei como 
alterar estes planos.

Quanto ao índice, existe sim um indice para o idcliente. Mas por alguma 
forma ele não usa o indice. Tem o indice do icliente inclusive nas duas 
tabelas.


"Carlos H. Cantu (TeamFB)" <listas em warmboot.com.br> 
escreveu na mensagem news:367818281.20070618172920 em warmboot.com.br...
Compare os planos gerados pelo otimizador. Por algum motivo, o plano
da primeira query não deve estar otimizado.

Duvida: existe um indice para os campos relacionados (idcliente) ?

[]s
Cantu (Membro do TeamFB - FireBase)
http://www.warmboot.com.br
FireBase - http://www.FireBase.com.br

D> Boa tarde lista

D> Vejam estas duas instruções  :

D> ---------------------------
D> select r.titulo,r.desdobra,r.valor,' ' formapag, c.razao, 'Dinheiro'
D> DescrForma, r.datatitulo,r.vencimento
D>       from receber r
D>       inner join cliente c on (c.idcliente = r.idcliente)
D>       where r.pagamento is null and
D>             r.idfiliais = 1 and
D>             r.nossonumero is null and
D>             r.troca = 'S'
D> ---------------------------
D> select r.titulo,r.desdobra,r.valor,' ' formapag, (select c.razao from
D> cliente c where c.idcliente = r.idcliente) razao,
D>              'Dinheiro' DescrForma,r.datatitulo,r.vencimento
D>       from receber r
D>       where r.pagamento is null and
D>             r.idfiliais = 1 and
D>             r.nossonumero is null and
D>             r.troca = 'S'
D> ---------------------------

D> as duas fazem a mesma coisa. Só que a primeira leva 37 segundos e a 
segunda
D> menos de 1 segundo. Teoricamente a segunda é uma forma incorreta de
D> utilização de join, mas tem uma performance muito melhor.

D> O que será essa loucura do FB ?








______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.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