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

Oracle:ボトムアップ削除

    あなたはアルゴリズムに興味があるので、あなたの質問は IN の違いに要約されるようです そしてEXISTS あなたの2つの例は IN の保存と同じです EXISTS に変更 CHILD からの削除で

    この違いについては何年にもわたって多くのことが書かれてきましたが、本質的には IN EXISTS に対してコンパレータの数が少ない場合に一般的に使用されます より多くのコンパレータを返すサブクエリでより効率的です (特に、これらの値に多数の重複が含まれる場合)。

    IN EXISTS の間、返されたすべてのコンパレータを評価する必要があります 最初の一致に遭遇したときに満たされます。

    これには例外があり、Google で検索すると見つかりますが、全体としてこれは正しいようです。

    Tom Kyte (Oracle VP) は、ここに説明を含む非常に良い答えを持っています:http://asktom.oracle.com/pls/asktom/f?p=100:11:2148775836129778::::P11_QUESTION_ID:953229842074

    TechRepublic にも適切な説明があります。 in-subqueries/5297080">http://www.techrepublic.com/article/oracle-tip-understand-the-difference-before-in-and-exists-in-subqueries/5297080

    これが役に立てば幸いです...




    1. 疑問符を含むPostgreSQLJSON(B)演算子を使用するにはどうすればよいですか? JDBC経由

    2. mysqlデータベースをinnerhtmlのajaxとphpで更新するにはどうすればよいですか?

    3. ZendFrameworkのカレンダー

    4. Oracle用のEntityFramework互換プロバイダーの比較?