我们需要合并15个审计跟踪表,以便仅使用特定条件查找库存调整。
最好是对所有表执行UNION ALL,然后过滤标准,或者在执行UNION ALL之前将标准放入每个表的混合中吗?
每个表只有几千条记录,最终筛选的列表通常少于一千条,这是为报告输出的。
foxpro应用程序生成表格,我们几乎无法控制数据库设计。
答案 0 :(得分:2)
通常最好在查询中尽早减少行数,这意味着过滤每个查询而不是过滤联合结果集。如果你在联合后进行过滤,你的UNION ALL设置有可能会导致创建一个临时表,如果你的表很大(我的意思是...... 大),这不是最好的。 / p>
我认为我们可以接受上述“一般良好做法”的例外情况......在单点处具有过滤器的情况下,极大地提高了查询的可读性/可维护性。 (而且收益超过了潜在的损失)。