[firebase-br] Delete com subselect não usa índice
Daniel Sonda
daniel em mhnet.com.br
Sex Set 11 10:17:23 -03 2009
Olá pessoal.
Explicando a estrutura:
As vendas tem parcelas de pagamento, cada parcela gera um título a
receber, o qual mantem referência à parcela que o gerou. Ou seja, tabela
CONTA_RECEBER tem uma FK com PARCELAS.
Ao cancelar uma venda, tenho q excluir o financeiro, usando esta
instrução numa trigger da tabela de vendas:
delete from conta_receber
where (conta_receber.par_id in (
select parcela.par_id
from parcela
where (parcela.vda_id = new.vda_id)))
Entretanto, o plano utilizado pelo FB é:
PLAN (PARCELA INDEX (AK_PAR_ID))
PLAN (CONTA_RECEBER NATURAL)
Não usou o índice da FK na tabela de contas a receber.
Por que?
Posso estruturar a instrução de maneira diferente a fim de otimizar?
Abraço.
Daniel Sonda
Mais detalhes sobre a lista de discussão lista