我有一个Java服务,它创建一个预准备语句,执行然后使用resultSet。但是,我有一个潜在的场景,传递给select的id列表可能在1到10000+之间。我看过批准准备好的声明。但是,我真正想做的是将完整的set或id发送到sql并让它分解查询并返回一个完整的结果集。
select col1 from tab1 where id IN (?,?,?...);
任何指示赞赏!
答案 0 :(得分:1)
将Comma separated values
转换为Rows
,然后将distinct
行插入带有主表的temp table
和join
临时表中。
将CSV
转换为Rows
check here
答案 1 :(得分:0)
最好有一个表,甚至是一个临时表,其中包含您在in中加入Tab1的ID。这可以避免由于IN中的太多事情而导致的任何可能的错误,并且即使在性能方面也可能更好。