页面<>vs Slice<>什么时候使用哪个? [英] Page<> vs Slice<> when to use which?
问题描述
我已经阅读了Spring Jpa Data 文档.
I've read in Spring Jpa Data documentation about two different types of objects when you 'page' your dynamic queries made out of repositories.
页面和切片
Page<User> findByLastname(String lastname, Pageable pageable);
Slice<User> findByLastname(String lastname, Pageable pageable);
因此,我试图找到一些文章或其他文章,讨论两者的主要区别和不同之处,以及性能的变化和排序的方式会同时执行两种查询.
So, I've tried to find some articles or anything talking about main difference and different usages of both, how performance changes and how sorting affercts both type of queries.
有人有这种类型的知识,文章或一些好的信息资源吗?
Does anyone has this type of knowledge, articles or some good source of information?
推荐答案
Slice
并通过触发计数查询知道可用元素和页面的总数.从Spring Data JPA 文档:
Page
知道可用元素和页面的总数.它是通过基础结构触发计数查询来计算总数来实现的.由于根据所使用的商店的不同,这可能会很昂贵,因此可以使用Slice
作为退货.Slice
仅知道是否存在下一个Slice
,当遍历更大的结果集时,这可能就足够了.
A
Page
knows about the total number of elements and pages available. It does so by the infrastructure triggering a count query to calculate the overall number. As this might be expensive depending on the store used,Slice
can be used as return instead. ASlice
only knows about whether there’s a nextSlice
available which might be just sufficient when walking through a larger result set.
这篇关于页面<>vs Slice<>什么时候使用哪个?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!