Cara yang disarankan untuk menangani ini di Oracle adalah dengan membuat Tabel Sementara, tulis nilainya ke dalam tabel ini, lalu gabungkan ke tabel ini. Menggunakan IN
yang dibuat secara dinamis klausa berarti pengoptimal kueri melakukan 'penguraian keras' untuk setiap kueri.
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)