java for循环一个一个查询和全部结果放一个list里面,然后sql语句通过用in这个list查询 哪个效率高
看你的数据量,
1、数量小的话2种都没有问题
2、数据量大的话,这2中方式也都不可以用,最好采用游标查询(hibernate/mybatis/或者原生数据库都有提供游标)的方式去查询。
3、如果你非要用in的话,推荐你使用exists。
http://bbs.csdn.net/topics/40410132
影响的因素很多,循环次数,表数据大小,查询效率等,不过值得研究
‘java for循环一个一个查询’ 一般不会用 除非数据量非常小,无所谓效率问题。
如果用in的方式查询 也是不好的 但是in毕竟在平时开发中是可以考虑的语法。
所以只能二选一的话就选in。
但是 如果in影响了效率 就要考虑其他方式,其他人也给了些建议,搜一搜就好!!!
每次查询一下都需要从连接池中获取连接,结束后连接还回连接池中,这种查询对数据库的压力是很大的。建议不要用这种for循环查询。
如果一定要选其一,建议用in