0

特定の基準のみで在庫調整を探すために組み合わせる必要がある 15 の監査証跡テーブルがあります。

すべてのテーブルで UNION ALL を実行してから基準をフィルター処理するか、UNION ALL を実行する前に各テーブルのミックスに基準を投入するのが最善ですか?

各テーブルはわずか数千のレコードであり、最終的にフィルター処理されたリストは通常​​、レポート用に出力されている 1,000 未満です。

foxpro アプリがテーブルを生成し、この目的でデータベース設計をほとんど制御できません。

4

1 に答える 1

2

一般に、クエリのできるだけ早い段階で行数を減らすことをお勧めします。これは、結合された結果セットをフィルター処理するのではなく、各クエリをフィルター処理することを意味します。結合後にフィルタリングすると、UNION ALL セットによって一時テーブルが作成される可能性があります。テーブルが大きい場合 (つまり... big )、これは最適ではありません。

上記の「一般的な良い慣行」の例外を受け入れることができると思います...フィルターを1つのポイントに配置すると、クエリの読みやすさ/保守性が大幅に向上する場合。(そして、利益は潜在的な損失を上回ります)。

于 2010-02-10T21:05:34.093 に答える