我正在使用QueryDSL从具有数百万条记录的表中获取数据。我也需要分页和排序。如果我使用分页添加排序,问题是查询非常慢。只有分页才会相对更快。
QEMP qemp = QEMP.emp;
BooleanBuilder builder = new BooleanBuilder();
builder.and(qemp.homeAddress.containsIgnoreCase(homeAddress));
Sort sort = new Sort(Sort.Direction.ASC, "homeAddress");
qEmpRepository.findAll(builder, new PageRequest(pageable.getPageNumber(), Integer.valueOf(itemPerPage),sort));
请注意我在家庭住址上也有条件和排序。可能是根本原因以及如何优化它。