加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

为什么分页查询比使用Spring Data的普通查询慢?

发布时间:2020-12-15 01:39:59 所属栏目:大数据 来源:网络整理
导读:鉴于我有一个简单的查询: List 此查询在700毫秒内返回7k记录. Page 此查询返回1080ms的10条记录.我知道对分页的额外计数查询,但似乎还是有些东西.另外一个我注意到的奇怪的事情是,如果我将页面大小从10增加到1900,响应时间在1080毫秒左右完全相同. 有什么建

鉴于我有一个简单的查询:

List

此查询在700毫秒内返回7k记录.

Page

此查询返回1080ms的10条记录.我知道对分页的额外计数查询,但似乎还是有些东西.另外一个我注意到的奇怪的事情是,如果我将页面大小从10增加到1900,响应时间在1080毫秒左右完全相同.

有什么建议?

最佳答案
这可能确实是计数查询在这里很昂贵.如果你坚持要知道集合中匹配的元素总数,那么遗憾的是没有办法解决这个额外的查询问题.但是,如果你能够牺牲返回的信息,有两种方法可以避免更多的开销:

>使用Slice作为返回类型 – Slice不会公开方法以查找元素总数,但它允许您查明下一个切片是否可用.我们通过读取比请求多一个元素并使用其(非)存在作为下一个片的可用性的指示符来避免计数查询.
>使用List作为返回类型 – 这将简单地将分页参数应用于查询并返回所选元素的窗口.但是,它不会向您提供有关后续数据是否可用的信息.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读