sql >> データベース >  >> RDS >> Sqlserver

INNER JOINは、EXISTSよりも優れたパフォーマンスを提供できますか

    一般的に、INNER JOIN およびEXISTS 別のものです。

    前者は両方のテーブルから重複と列を返し、後者は1つのレコードを返し、述語であるため、1つのテーブルのみからレコードを返します。

    UNIQUEで内部結合を行う場合 列、それらは同じパフォーマンスを示します。

    DISTINCTを使用してレコードセットで内部結合を行う場合 適用(重複を取り除くため)、EXISTS 通常は高速です。

    IN およびEXISTS 句(等結合相関を使用)は通常、いくつかのSEMI JOINの1つを使用します 通常、DISTINCTよりも効率的なアルゴリズム テーブルの1つに。

    私のブログでこの記事を参照してください:

    • IN vs. JOIN vs. EXISTS


    1. CBO統計ホワイトペーパー

    2. ver.2 PyGreSQLエラー:from _pg import * ImportError:DLLのロードに失敗しました:指定されたモジュールが見つかりませんでした

    3. MySQLデータベースのデータを更新する

    4. PostgreSQL:テーブル作成時間