我正在使用 PagingAndSortingRepository 进行分页。 有了一些数据,一切都可以正常工作。
当我拥有超过1000个条目的较大数据集时,在加载第一页时出现性能问题。 所有其他页面的加载速度要快得多(请求顺序不会对性能产生任何影响)。
我的存储库如下:
@Repository
@Transactional(readOnly = true)
public interface MyRepository extends PagingAndSortingRepository<MyObject, Integer>, JpaSpecificationExecutor<MyObject> {
}
我这样称呼它:
Specifications<MyObject> filter= getMyFilter();
Pageable pageable = PageRequest.of(page, size, sort);
Page<MyObject> page = this.myRepository.findAll(filter, pageable);
我的第一个假设是,对于第1页,生成了一些昂贵的SQL查询。但是第1页和第2页的语句之间没有太大区别。 他们俩也都在计数。我首先想到的可能是原因。
我猜问题出在存储库中。 有人遇到过同样的问题吗?
答案 0 :(得分:0)
问题是mssql数据库中的某些统计信息。 我删除它们后,性能问题就解决了。