我有一个数据库,我想获取该数据库中表的名称以及这些表中的数据行数。
select table_name from dba_tables where owner = 'owner'
返回数据库中所有表的名称,但我无法获得每个表中的行数。
查询num_rows列不会实时给出行计数,因为它要求所有表都运行" analyze"指挥他们。
有没有办法使用单个查询获取每个表的列,表名和行数?
答案 0 :(得分:3)
使用:
SELECT
table_name,
num_rows,
last_analyzed
FROM dba_tables
您可能需要在以下情况下更新统计信息:
exec dbms_stats.gather_schema_stats(ownname => 'NAME');