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

INNER JOIN状態で「OR」を使用するのは悪い考えですか?

    この種のJOIN HASH JOINに最適化できません またはMERGE JOIN

    これは、2つの結果セットの連結として表すことができます。

    SELECT  *
    FROM    maintable m
    JOIN    othertable o
    ON      o.parentId = m.id
    UNION
    SELECT  *
    FROM    maintable m
    JOIN    othertable o
    ON      o.id = m.parentId
    

    、それぞれが等結合ですが、SQL Server のオプティマイザは、作成したクエリで表示できるほど賢くはありません(論理的には同等ですが)。



    1. SQL Serverでセミコロンを使用する必要があるのはいつですか?

    2. SQLServerのLIMIT10..20

    3. アドホックワークロードのパフォーマンスへの影響の調査

    4. Count()で条件を指定することはできますか?