javaweb内部查询1w~10w的数据,除了用循环,还有啥好点的方法?

项目需要在内部查询一个可能有1W~10w的数据然后进行操作,目前是用循环每次查100条来实现的。现在就想讨教一下,各位在实现这种逻辑的时候,你们的做法会是什么。

阅读 4k
4 个回答

1.首先采用直接写SQL的方式,而不是像hibernate用java对象来拼装SQL,或者像MyBatis中,使用Example来查询,建议直接写SQL。
2。看一下你当前的业务逻辑,是否涉及到有事务的操作,如果包含有事务的操作,建议分批次处理,你可以在controller层做出控制,分页来处理数据。

就是单纯的查询还是还是查询出来以后还要修改呢? 单查询我觉得想怎么玩就怎么玩,控制一下内存就好。 如果需要修改的话参考楼上。

如果可以分页最好分页,如果查询出来还有做操作的话可以使用 jdk8 中的 stream。

新手上路,请多包涵

有点类似批处理了。最好一次性查出主键,然后多线程分批处理数据

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题