[firebase-br] Qual o melhor select em termos de performance para:

Edson T. Marques marques em oriontec.com.br
Qui Set 29 15:47:03 -03 2005


Olé pessoal, boa tarde!

Considere um BD no qual, entre outras,  existem 5 tabelas para registro de Operações Comerciais tais como Notas Fiscais, Cupons Fiscais, Pedido, Orçamento e Outras. Entre essas tabelas não existem relacionamentos, mas todas se relacionam com uma tabela chamada Trading cuja chave primária se propaga para as Entidades citadas acima em relacionamento 1->1 Especificado por um campo de Trading chamado "Especificacão".  Cada uma das cinco tabelas vai, portanto armazenar os dados especificados de Trading. Por exemplo: se é necessário armazenar Nota Fiscal, é lançado um registro em Trsding, Especificado lá como 'NF' e os demais dados como Numero, Data de Emissão, Destinatário, etc são armazenados em NotaFiscal. Quando vai se armazenar um Cupom Fiscal o mesmo processo é feito em Trading,  a especificação fica com 'CF' e os dados específicos vão para CupFiscal, e assim por diante. 
Este é o cenário onde tenho que fazer uma view que me retorne todas as Tradings com especificação 'PD', 'OR',  'NF', 'CF'.
Minha pergunta é: Considerando que quero obter a melhor performance possível, quais índices eu tenho que criar (se necessário) e como deveria ser o select para essa view? Seria melhor eu usar union, ou join entre trading e as outras entidades com Coalesce nas colunas, ou existe alguma outra alternativa?

Desde já agradeço.
Edson;




Mais detalhes sobre a lista de discussão lista