我有一张包含大约 4000 万条记录的表。我正在对该表进行分页,每页偏移 10 条记录。问题是我必须显示记录总数和页数(给定某些标准)。SELECT COUNT 处理时间太长,大约 20 秒。我有一个超时提示,但他没有解决问题,并且数据库(表)正在增长......
有人遇到这个问题吗?您实施的解决方案是什么?
我有索引并且查询已调整,问题是记录数......
我正在使用休眠 JPA、JAVA 和 jMesa 来显示带有分页的页面。
干杯,
我有一张包含大约 4000 万条记录的表。我正在对该表进行分页,每页偏移 10 条记录。问题是我必须显示记录总数和页数(给定某些标准)。SELECT COUNT 处理时间太长,大约 20 秒。我有一个超时提示,但他没有解决问题,并且数据库(表)正在增长......
有人遇到这个问题吗?您实施的解决方案是什么?
我有索引并且查询已调整,问题是记录数......
我正在使用休眠 JPA、JAVA 和 jMesa 来显示带有分页的页面。
干杯,
如果您使用的是 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