MyBatis 查询超过3万条数据就卡死,无返回,无程序报错。
List<AuditDetail> result = new ArrayList<AuditDetail>();
Map<String, Object> map1 = new HashMap<String, Object>();
//设置查询条件
map1.put("platform", platform);
map1.put("batchId", batchId);
map1.put("compareCode", compareCode);
map1.put("compareReasonCode", compareReasonCode);
map1.put("curPage", 1);
map1.put("pageSize", "100000");
result = null;
//调用mybatis的mapper进行查询
result = auditDetailConfig.queryAuditDetail(map1);
System.out.println("查询完毕======"+result.size());
数据库一共有7万多条数据,准备查询出来写入excel,一查询就没有返回了,控制台日志输出一会就停住了。然后就没有然后了。
后来我想可能是查的太多了,就分几次查询,每次查询10000条记录,查到第4次的时候,还是停住无任何返回,挂死了。3万条以内的数据,可以正常查出并且写入excel,超过3万条就这样了。
以下是mybatis的一些设置
<settings>
<setting name="cacheEnabled" value="true" />
<setting name="lazyLoadingEnabled" value="true" />
<setting name="aggressiveLazyLoading" value="false" />
<setting name="lazyLoadTriggerMethods" value="false" />
</settings>
一开始以为是tomcat内存不够,现在我把tomcat的内存放到2G,依然不行。请大神给我看看是啥原因