Pergunta

Temos 15 tabelas de trilhas de auditoria que precisam ser combinadas para procurar ajustes de inventário apenas com certos critérios.

É melhor fazer um sindicato tudo com todas as mesas e depois filtrar para critérios ou lançar os critérios na mistura em cada mesa antes de fazer um sindicato tudo?

Cada tabela tem apenas alguns milhares de registros e a lista filtrada final é normalmente menor que mil, o que está sendo produzido para relatórios.

Um aplicativo FoxPro gera as tabelas e temos pouco controle do design do banco de dados nessa extremidade.

Foi útil?

Solução

Geralmente, é uma boa prática reduzir a contagem de linhas o mais cedo possível na consulta, o que significa filtrar cada consulta em vez de filtrar o United ResultSet. Há chances de seu sindicato que todos os conjuntos resultarão em uma tabela temporária sendo criada se você filtrar depois de se unir, e isso não é o melhor se suas mesas forem grandes (quero dizer ... grande).

Acho que podemos aceitar uma exceção à "boa prática geral" acima ... nos casos em que ter os filtros em um único ponto melhora bastante a legibilidade / manutenção da consulta. (E os benefícios excedem a perda potencial).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top