Oracle में इसे संभालने का अनुशंसित तरीका एक अस्थायी तालिका बनाना है, इसमें मान लिखना है, और फिर इसमें शामिल होना है। गतिशील रूप से बनाए गए IN
. का उपयोग करना क्लॉज का मतलब है कि क्वेरी ऑप्टिमाइज़र हर क्वेरी का 'हार्ड पार्स' करता है।
create global temporary table LOOKUP
(
ID NUMBER
) on commit delete rows;
-- Do a batch insert from your application to populate this table
insert into lookup(id) values (?)
-- join to it
select foo from bar where code in (select id from lookup)