他のいくつかのテーブルを結合する前に、最初に一時テーブルにデータを配置することをお勧めしますか?
たとえば、次のものがあるとします。
- tableA、500 万行
- tableB、500 万行
- tableC、500万行
... - テーブルG
実行したいクエリは次のようになります。
SELECT 1 FROM tableA
INNER JOIN tableB WITH (NOLOCK) ON tableA.col1= tableB.col1
LEFT JOIN tableC WITH (NOLOCK) ON ...
...
LEFT JOIN tableG WITH (NOLOCK) ON ...
WHERE tableA.someCol= conditionA AND tableB.someCol= conditionB...
フィルターを使用すると、tableA の小さなサブセットのみが返されます。ブロックを回避し、パフォーマンスを向上させるために、他のテーブルに参加する前に最初に tableA からデータを取得することをお勧めしますか?
グーグルを試しましたが、満足のいく答えが見つかりませんでした。前もって感謝します。