查询大量数据表的总记录数

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列,以及最后更新时间

展开阅读全文

没有更多推荐了,返回首页