私のgoogle-fuとso-fuは私にここで失敗しているので、私はよく尋ねるかもしれません。TSQL - テーブルを結合する正しい順序は何ですか?
私はそれらに複数の結合を持つ多くのクエリを持っています。
私は、1つのクエリの中で、ヘッダー/アイテム/詳細をまとめて、これらのレコードのさまざまな情報を調べています。
私が参加するとき、私は物事をどのように関連づけているかの順番で保管しようとします。例:Myヘッダーには2つのルックアップテーブルがあるため、アイテムテーブルに参加する前にそれらのテーブルに参加します。
これは間違いありませんか?
ルックアップテーブルの前に大きなテーブルに参加する方が良いですか?またはその逆?
小さなテーブルに参加するときにヒントを使用し、openrowsetsに参加するときにmerge
ヒントを使用する必要がありますか?
私はその答えは「それに依存する」と確信していますが、効果的かつ効率的に参加するための一般的なガイドラインが非常に役に立ちます。ありがとう!
ほとんどの場合、結合のタイプ(マージ/ループ/ハッシュ)を指定する必要はありません。もしあなたがそうしているのであれば、おそらく結合ヒントのバンドエイドの代わりに解決すべき根本的な問題があるでしょう。 –
あなたが何をしているのかよく分からず、クエリ実行計画を理解していない限り、決してクエリヒントを使用しないでください。 – JotaBe