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