私のクエリでは、既存のテーブルとデータの動的セット(パラメータに基づいて取得)を結合したいと思います。私はこのシナリオを完了するための最良の選択肢が何であるかを研究していましたが、3つの選択肢に絞って終了しました。
ビュー、CTE、関数、CTE +関数
クエリは次のようになります
select id from table
where id not in (select id from dynamic_set (param1, param2) )
- ビューでは、すべてのデータをフィルタリングせずにプルする必要があります。
- テーブルの各行に対して関数を実行する必要があるため、クエリのパフォーマンスに影響する可能性があります。
- CTEと関数の組み合わせは、関数自体を使用する場合とほとんど同じですが、ローのみをフィルタリングし、パフォーマンスを少し上げるために最適化することができます。
- CTEはsimularからtempへのテーブルなので、私の質問はデータの大量のパフォーマンスに影響します。
私は可能な限り最良の解決策についてあなたの意見を聞きたい
参加してくれてありがとう