[firebase-br] Delete com subselect não usa índice

Douglas Tosi douglasht em gmail.com
Sex Set 11 10:35:56 -03 2009


2009/9/11 Daniel Sonda <daniel em mhnet.com.br>:
> delete from conta_receber
> where (conta_receber.par_id in (
>  select parcela.par_id
>  from parcela
>  where (parcela.vda_id = new.vda_id)))
> Posso estruturar a instrução de maneira diferente a fim de otimizar?

Acho que não tem como indexar as duas tabelas neste caso. Mas você
pode tentar o seguinte comando e ver se melhora um pouco.

delete from conta_receber
where exists
(
select 1
from parcela
where parcela.vda_id = new.vda_id and parcela.par_id = conta_receber.par_id
)

hth,
-- 
Douglas Tosi
www.sinatica.com




Mais detalhes sobre a lista de discussão lista