スポンサーリンク
SQLパフォーマンス 「NOT EXISTS / NOT IN構文のパフォーマンスについて」 [備忘録]
実行計画を見ると、NOT EXISTS構文では相関副問い合わせにINDEXを使用しているのに対し、 NOT IN構文では副問い合わせにフルテーブルスキャンを行っている。
その影響を受け、NOT IN構文は、NOT EXISTS構文の場合に比べアクセスデータ量が20倍以上になっている。実行時間はおよそ200倍。よってこの場合はNOT EXISTS構文を使用するべきである。また実現性の面で見ても、十分耐えられると判断できる。
もし他の場面でNOT EXISTS構文を使用する場合は、相関副問い合わせ内のテーブルにINDEXを作成することにより、その処理時間を大幅に削減できる。
Facebook コメント
スポンサーリンク
コメント 0