-6

比較的簡単な質問があります。

データセット A とデータセット B があり、どちらも構造が同じです。

最終結果は、データセット A とデータセット B の和集合になり、データセット C と呼びます。

ただし、最終バージョンの前に、データセット X に結合して最終データセットをフィルター処理する必要があります。

問題は、データセット X でデータセット A を結合し、データセット X でデータセット B を結合し、すべての A と B を結合するか、またはすべての A と B を C に結合してから、X で C を結合するかです。

より高速で、メモリ効率が高いなどは何ですか?

前もって感謝します!

4

3 に答える 3

5

それは非常に多くのことに依存しているため、あなたの質問からは言えません: インデックス作成、統計、INNER または OUTER JOIN、データ型。もっと多くのことを知る必要があり、それでも実行計画を比較する必要があります。

私は自分自身を繰り返したくないので、おそらくメンテナンス上の理由から UNION の外で JOIN を実行しますが、賭けなければならない場合は、最初の結合がそれを上回る可能性があると確信しています。行数が大幅に減ります。

于 2012-10-30T18:22:00.163 に答える
1

私は本当に両方の実行計画を見て、何がより少ない時間/リソースを必要とするかを見たいと思います。

これは、SQLAuthorityでのパフォーマンス調整の開始に関する優れたスタータービデオです。本当に十分な注目を集めることのないトピック。

最適化の進化について実行プランを監視することは、実行でさらにインデックスやその他の調整手法が効果を発揮するかどうか、またどのように成果を上げるかを示すために、実際に溝に潜り込む優れた手法です。

于 2012-10-30T18:23:23.320 に答える
1

私の直感は、両方を x に結合し、結果を結合することです。そうすれば、SQL サーバー オプティマイザーが最適なクエリ プランを提供する可能性が高くなりますが、これは両方を記述し、実行プランとタイミングを確認して実際の違いを確認する場合です。

于 2012-10-30T18:19:59.557 に答える