【发布时间】:2021-09-20 09:13:41
【问题描述】:
我说的是一次查询中有 400 万条数据
@RequestMapping(value = { "/getData" }, method = { RequestMethod.GET, RequestMethod.POST })
public String getData (@RequestParam(value = "start", required = false, defaultValue = "0") String start,
@RequestParam(value = "end", required = false, defaultValue = "0") String end, ModelMap model) {
List<Object> getDataList = repo.getData(start, end);
model.addAttribute("getDataList ", getDataList);
model.addAttribute("showDownload", true);
model.addAttribute("start", start);
model.addAttribute("end", end);
return "getData";
}
这种方法一次可以获取 220 万条数据。这段代码如何优化?
@Query(value = "SELECT * "
+ "FROM table where date between :start and :end", nativeQuery = true)
List<Object> getData(@Param("start") String start, @Param("end") String end);
【问题讨论】:
-
是否需要单次响应返回所有数据?
-
针对什么进行了优化?
-
获取100000条记录需要4分钟以上。
标签: spring spring-boot spring-mvc spring-data-jpa spring-data