NOT IN句を利用すると、インデックス検索対象外になる為、対象数が増えれば増えるほど重くなる。こういったときは、NOT EXISTSを使うと速くなる。
not in句のコード
## 商品売上テーブルに存在していて、商品管理マスタにないレコードのみ抽出 SELECT shohin_cd , sales FROM shohin_sales WHERE shohin_cd NOT IN ( SELECT shohin_cd FROM shohin_master )
not exists句のコード(こっちのが早い)
## 商品売上テーブルに存在していて、商品管理マスタにないレコードのみ抽出 SELECT shohin_cd , sales FROM shohin_sales WHERE NOT EXISTS ( SELECT shohin_cd FROM shohin_master WHERE shohin_cd = shohin_sales.shohin_cd )