Det rekommenderade sättet att hantera detta i Oracle är att skapa en tillfällig tabell, skriva in värdena i denna och sedan gå med i denna. Använder dynamiskt skapad IN
satser betyder att frågeoptimeraren gör en "hård analys" av varje fråga.
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)