我有一个Java服务,它创建一个准备好的语句,执行,然后使用resultSet。然而,我有一个潜在的场景,传递给select的id列表可能在1和10000+之间。我已经研究了如何对预准备语句进行批处理。但是,我真正想做的是将完整的集合或id发送到sql,并让它分解查询并返回完整的结果集。
select col1 from tab1 where id IN (?,?,?...);感谢您的指点!
发布于 2015-03-23 21:26:49
将Comma separated values转换为Rows,然后将distinct行插入到temp table中,并使用主表join临时表。
将CSV转换为Rows 的步骤
发布于 2015-03-23 21:27:49
最好有一个表,即使是临时的表,其中包含您在与Tab1连接的in中的ID。这避免了由于IN中的太多东西而导致的任何可能的错误,甚至在性能方面也可能更好。
https://stackoverflow.com/questions/29211423
复制相似问题