2014-03-06 91 views
0

我正在寫java程序,其中我需要比較大量的List<String> ids才能看到這些id是否存在於數據庫中?我知道這可以通過大的select查詢select id from my_table where id in ('1','2''3''4''5'...)來完成,它會導致非常大的sql查詢。oracle 11g sql比較大數值

是否有任何其他方式在Oracle 11g中執行此操作?

感謝

+0

如果您有不同的ID,請使用BETWEEN。 – Mihai

回答

0

首先你應該知道的神諭IN條款限制(SQL IN Clause 1000 item limit)。所以,你可以避開這個,如果你分割你的大in成更小的像

select id from my_table where id in ('1','2','3') or id in ('4','5'...) 

或者Oracle

select id from my_table where id in ('1','2','3'); 
select id from my_table where id in ('4','5'...); 

運行多個請求或有其他possibilites(見鏈接的問題)。