タグ

SQLとtuningに関するokyawaのブックマーク (1)

  • 2つの副問い合わせの違い - オラクル・Oracleをマスターするための基本と仕組み

    2つの副問い合わせの違い IN 条件か EXISTS 条件か NOT IN (〜) と NOT EXISTS (〜) では多くの場合 NOT EXISTS の方がチューニングとして高速になるのは有名である。 しかし、IN ( <副問い合わせ> ) と EXISTS ( SELECT 〜) でお互いに置き換え可能な場合、果たしてどちらを使うのか? どちらでも同じなのか? IN (<副問い合わせ>) の場合 〜2つの表の フィルタ処理〜 IN ( 〜 ) は副問い合わせ結果を親の問い合わせへの「入力データ」として組み込まれて実行計画される。 副問い合わせでの結果を親の問い合わせに取り込んで処理をすると考えることができる。 この過程が理解できると NOT IN ( <副問い合わせ> )が、 NOT EXISTS と比べて「入力データ」が巨大で、いかにコストが高い処理か想像することができる。 しか

  • 1