sql >> データベース >  >> RDS >> Sqlserver

UNION と DISTINCT のパフォーマンス

    それはクエリによって異なります。クエリ A、B、または C の複雑さを知らなければ、答えられるものではないため、プロファイリングを行い、それに基づいて判断するのが最善の策です。

    しかし... いずれにせよ、私はおそらくユニオンを使用します。一時テーブルは、特に大きくなると、非常に高価になる可能性があります。一時テーブルを使用すると、余分な操作が明示的に作成されるため、ディスク サブシステムに負荷をかけるための i/o が増えることに注意してください。一時テーブルに頼らずに選択を実行できる場合は、常に (おそらく) 高速になります。

    このルールには例外 (または 7 つ) が必ずあります。したがって、適切な決定を下すための確かな数値を確実に取得するために、現実的に大きなデータセットに対してプロファイルを作成することをお勧めします。



    1. SQLクエリでインデックスを使用する方法

    2. MySQLでJSON配列オブジェクトのクエリを作成する方法

    3. SQLiteのCount()結果から重複を削除

    4. 合計を計算するための最良のアプローチ– SQLServer2012用に更新