SQL小手先の技 1000件以上のin句(Oracle)その5
oracleのin句の1000件問題の続きです。
結構1000件問題の回避策って出てくるものですね。
ちょっとびっくりしてます。
どこかでまとめます。
今度はEXISTS句を使う回避策です。
こんな感じ。
EXISTS句にする前
select * from テーブル名
where 検索対象カラム in (select 検索対象カラム from 別テーブル);
EXISTS句にした後
select * from テーブル名 a
where EXISTS
(select 1 from 別テーブル b where a.検索対象カラム = b.検索対象カラム);
このほうが性能も出そうですね。
理屈は抜きで!