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