違い: 1. in は親クエリ テーブルとサブクエリ テーブルの間にハッシュ接続を作成しますが、 または は親クエリ テーブルでループを実行してからサブクエリ テーブルにクエリを実行します; 2. なしのデータインデックス 量が大きくなっても、in の実行効率はあまり低下しませんが、or の実行効率は大きく低下します。
このチュートリアルの動作環境: Windows 10 システム、Oracle 11g バージョン、Dell G3 コンピューター。
a in (1,2,3)(a = 1 or a = 2 or a = 3)
a = 1 && b = 2 または a = 3 は、(a = 1 && b =2) と a = 3
の条件の和集合と同等です。または、この 2 つのうちのいずれかである場合条件が満たされている
in は、たとえば、select * from table in (ステートメントまたは複数の値)
または: 最大 2 つの条件を満たす in: より多くの条件を満たす
操作は異なります
1. in: in は、親クエリ テーブルと子クエリ テーブル間のハッシュ接続です。
2. or: or は、親クエリ テーブルでループを実行し、ループがループするたびに子クエリ テーブルをクエリします。
さまざまな用途に適しています
1. in: in は、子クエリ テーブルに親クエリ テーブルよりも多くのデータがある状況に適しています。
2. or: or は、子クエリ テーブルのデータが親クエリ テーブルよりも少ない状況に適しています。
実行効率の違い
1. In: インデックスがない場合、in の背後にあるデータの量が増加するにつれて、in の実行効率は低下します。減少が大きすぎるでしょう。
2. または: インデックスがない場合、 or の背後にあるデータの量が増加するにつれて、 or の実行効率が大幅に低下します。
推奨チュートリアル: 「Oracle ビデオ チュートリアル 」
以上がin と or in oracle はどう違いますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。