1.普通
select count(*) from table;
几千万条数据好几分钟
2.快速查询表的总记录数
select table_name,t.num_rows,t.last_analyzed from tabs t;
!!!查出数据库中此用户所有表中的记录数
比较:
1是查用户表,2是查系统表
!!!2查询结果不是非常准确,tables表中存在一个字段last_analyzed(最后分析时间),不是最新的,导致数据查询不准确。
在command下执行:
EXEC dbms_stats.gather_table_stats(‘空间名称(db uer name)’,‘tablename’,cascade=>true);
刷新tabs表中的num_rows列,以及最后更新时间
本文介绍了两种查询数据库记录总数的方法:一种是直接查询用户表,另一种是通过系统表tabs来获取近似值。后者虽然不够精确,但速度更快。为提高准确性,文章还提供了更新tabs表中num_rows字段的方法。





