Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 更改Spring JPA分页的方式_Java_Spring_Sorting_Jpa_Pagination - Fatal编程技术网

Java 更改Spring JPA分页的方式

Java 更改Spring JPA分页的方式,java,spring,sorting,jpa,pagination,Java,Spring,Sorting,Jpa,Pagination,我想知道是否有可能改变Spring分页的方式,因为默认的分页和排序存储库方法使用了限制和偏移量,但是在大数据集上速度太慢 我拥有的数据确实有一个索引列,因此编写WHERE timestamp>x和timestamp

我想知道是否有可能改变Spring分页的方式,因为默认的
分页和排序存储库
方法使用了
限制
偏移量
,但是在大数据集上速度太慢

我拥有的数据确实有一个索引列,因此编写
WHERE timestamp>x和timestamp并跟踪收到的最高时间戳。我只是想知道这是否已经内置到SpringJPA中,所以我可以告诉它按列排序,并使用它,而不是使用
OFFSET


没有神奇的解决方案

是的,它可能很慢。但我发现这并不是分页问题的指标,而是使用了不正确的工具/解决方案的指标

我发现使用分页在巨大的数据集中导航是一种糟糕的方法。我建议你使用相对较少的页面,比如20页。如果您想浏览更大的数据量,请考虑在请求中适当的拆分/结构化数据。例如,如果您的数据可以按时间过滤,请考虑在您的请求中使用适当的过滤器(以及如果从GUI触发的话,对应的GUI元素)。 请用户首先选择一个时间段,如从/到年、从/到日期或从/到小时,具体取决于您拥有的数据量。并对此类查询使用分页(将返回相对较少的页面)

或者,无论用户定义了什么过滤/搜索条件,在第一个请求中检查页数。如果超过某个限制(比如20页),抛出一个异常并要求用户优化筛选/搜索条件。继续此操作,直到页数不超过所需的限制。使用这种过滤器进行分页可以快得多