Cách được khuyến nghị để xử lý điều này trong Oracle là tạo Bảng tạm thời, ghi các giá trị vào bảng này, sau đó nối vào bảng này. Sử dụng IN
được tạo động mệnh đề có nghĩa là trình tối ưu hóa truy vấn thực hiện 'phân tích cú pháp cứng' cho mọi truy vấn.
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)