ORACLE 查询所有表及表中的数据量

时间:2025-03-11 16:37:03

查询语句如下:
select u.TABLE_NAME,u.NUM_ROWS from user_tables u order by u.NUM_ROWS desc

但是这个语句有个问题,就是统计出来的数据量并不是实时的。会出现统计的数量跟实际数量不符的情况。

目前了解到的办法是 执行以下语句:
analyze table 【table_name 】compute statistics;
中括号里面的是你要计算的表的名字,然后再执行上面的那条语句,查询出来就是最新的统计数量了,但是如果表比较多的话,需要创建一个存储过程,利用游标批量运行。