[firebase-br] Duvida Select

Joel big.rid.listas em gmail.com
Ter Set 9 13:03:12 -03 2014


select
   n.numpedido
from numpedidos n
left join pedidos p on (p.numpedido=n.numpedido)
where ((n.usado= '') and (p.numpedido is null))


On 09-09-2014 11:41, Rodrigo wrote:
> Bom dia a todos.
>
> Fiz um select e ele esta funcionando, porém esta muito lento, pois ha 
> muitos registros no banco de dados.
>
> select N.NUMPEDIDO AS NUMPEDIDO from numpedidos N where N.USADO = '' 
> and (SELECT COUNT(*) FROM PEDIDOS WHERE NUMPEDIDO=N.NUMPEDIDO) = 0
>
> nesse select retorno o proximo numero de pedido, porem esse numero nao 
> pode repetir na tabela pedidos, entao
> faço uma pesquisa para verificar se ele ja nao esta sendo usado. 
> Percebi que nesses selects não usam os indices criados. Por isso 
> talvez fique lento.
>
> Tentei fazer assim:
>
> select N.NUMPEDIDO AS NUMPEDIDO from numpedidos N where N.USADO = '' 
> and N.NUMPEDIDO NOT IN (SELECT NUMPEDIDO FROM PEDIDOS)
>
> Funciona mais rapido porem nao retorna os mesmos resultados do que o 
> outro select acima.
>
> Existe alguma forma de melhorar esse select, ou uma forma de ele usar 
> os indices criados ?
>
> Grato
>
>
> ______________________________________________
> 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