[firebase-br] Duvida Select

Rodrigo firebase em dominioinf.com.br
Ter Set 9 11:41:54 -03 2014


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





Mais detalhes sobre a lista de discussão lista