Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.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 进行分页时的计数策略_Java_Sql_Jpa_Pagination_Jmesa - Fatal编程技术网

Java 进行分页时的计数策略

Java 进行分页时的计数策略,java,sql,jpa,pagination,jmesa,Java,Sql,Jpa,Pagination,Jmesa,我有一张桌子,里面有大约4000万条记录。 我正在以每页10条记录的偏移量对该表进行分页。 问题是我必须显示记录的总数和页数(给定某些标准)。 选择计数的处理时间太长,大约20秒。 我得到了一个超时提示,但他的没有解决问题,数据库(表)正在增长 有人有这个问题吗?您实施的解决方案是什么 我已经得到了索引,并且查询已经完成,问题是记录的数量 我使用HibernateJPA、JAVA和jMesa来显示分页页面 干杯,如果您使用的是Oracle数据库,并且表中行数的近似值足够,请尝试: 从用户_表中选

我有一张桌子,里面有大约4000万条记录。 我正在以每页10条记录的偏移量对该表进行分页。 问题是我必须显示记录的总数和页数(给定某些标准)。 选择计数的处理时间太长,大约20秒。 我得到了一个超时提示,但他的没有解决问题,数据库(表)正在增长

有人有这个问题吗?您实施的解决方案是什么

我已经得到了索引,并且查询已经完成,问题是记录的数量

我使用HibernateJPA、JAVA和jMesa来显示分页页面


干杯,

如果您使用的是Oracle数据库,并且表中行数的近似值足够,请尝试:

从用户_表中选择NUM_行,其中TABLE_NAME='YOUR_TABLE'

另一种选择是:

从您的_表样本块(1)中选择COUNT(*)*100

增编:

第一个查询的SQLServer等效项:

从sys.sysindex中选择行

其中id=OBJECT\u id(“您的表”)和indid<2

可能是保存表计数的视图?不要显示它。显示省略号(…),或者设置一个异步进程,并在它最终返回时显示它。我使用SQL Server,我认为使用JPA不可能做到这一点。我不明白为什么不能使用JPA访问目录表。好的,如果我想要表元数据,我可以这样做。我不需要,我想要的是特定标准(业务标准)中的表计数基础,基于表中的常驻数据。如下所示:从name='example'的表中选择count(PK)。