0

我有一张包含大约 4000 万条记录的表。我正在对该表进行分页,每页偏移 10 条记录。问题是我必须显示记录总数和页数(给定某些标准)。SELECT COUNT 处理时间太长,大约 20 秒。我有一个超时提示,但他没有解决问题,并且数据库(表)正在增长......

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

我有索引并且查询已调整,问题是记录数......

我正在使用休眠 JPA、JAVA 和 jMesa 来显示带有分页的页面。

干杯,

4

1 回答 1

0

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

SELECT NUM_ROWS FROM USER_TABLES WHERE TABLE_NAME = 'YOUR_TABLE';

另一种选择是:

SELECT COUNT(*) * 100 FROM YOUR_TABLE SAMPLE BLOCK (1);

附录:

第一个查询的 SQLServer 等效项:

SELECT rows FROM sys.sysindexes WHERE id = OBJECT_ID('YOUR_TABLE') AND indid < 2

于 2015-09-22T17:18:41.177 回答