首页 / 科技百科 / 正文

oracle查所有表数据量 

在Oracle中,可以使用以下SQL语句查询所有表名和数据量:

SELECT table_name, to_char(num_rows, '999,999,999,999' ) AS num_rows FROM all_tables ORDER BY table_name。

这条SQL语句会返回所有表的表名和数据量,按表名进行排序。如果想要查询所有表包括系统表,可以使用 dba_tables 视图,如果只想查询当前用户的表,可以使用 user_tables 视图。

需要注意的是,num_rows字段的值是在最后一次收集统计信息之后更新的,如果是频繁变化(批量变化)的表,这个字段的值极为不准确,如果数据量变化不频繁,这个字段的值也只是个大概数。也就是说num_rows只是一个粗略的计算,所以他的计算速度比较快,而count(*)计算的比较仔细,速度也会有所下降。

如有侵权请及时联系我们处理,转载请注明出处来自