SQL パフォーマンスに対する結合順序の影響
特定の SQL クエリでは、結合の順序がパフォーマンスに実際に影響を与える可能性があります。従来、結合の順序は、
FROM dbo.Reporting_JourneyMaster90 AS jm
の後に Reporting_Journeys および Reporting_WebUsers との結合が続きます。ただし、場合によっては、結合順序を変更した方が有益な場合があります。
パフォーマンスに関する考慮事項
SQL Server 2008R2 では、結合順序がクエリのパフォーマンスに大きく影響する可能性があります。特に複数の結合や where 句を含む複雑なクエリの場合はそうです。オプティマイザーは最適な結合順序を見つけようとしますが、常にすべての可能な組み合わせを考慮するとは限りません。
最適化手法
パフォーマンスを向上させるには、最も影響力のある where 句を適用するテーブルとの結合順序を変更します。これは、オプティマイザーが早い段階でデータ セットを絞り込み、後続の結合で処理する必要がある行の数を減らすのに役立ちます。
指定された例では、Reporting_WebUsers と Reporting_JourneyMaster90 の間の結合から始めるのが合理的かもしれません。 、wu.isActive の where 句により、データ セットが大幅に削減される可能性があるためです。その後、Reporting_Journeys テーブルを結合して、移動時間と距離に基づいて結果をさらにフィルタリングできます。
注: 結合順序を制御するために強制順序付けを使用できますが、過度に優先される可能性があります。制限的であり、常に最適な結果が得られるとは限りません。一般に、提供された選択性の推定に基づいてオプティマイザーに最適な結合順序を決定させる方が良いでしょう。
以上が結合順序は SQL クエリのパフォーマンスにどのように影響しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。