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

Ivan Guimarães Meirelles igmeirelles em gmail.com
Sex Set 11 10:57:42 -03 2009


Olá Daniel...

Mais um detalhe...
como vc está disparando a trigger em uma transação de DELETE então use:

OLD.vda_id e não NEW.vda_id

Um forte abraço.

-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de Douglas Tosi
Enviada em: sexta-feira, 11 de setembro de 2009 09:36
Para: FireBase
Assunto: Re: [firebase-br] Delete com subselect não usa índice

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

______________________________________________
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