如何快捷地查询Oracle中每个用户表的表名和行数?
展开全部
某个用户的表的表名从数据字典表 user_tables 可以查到,虽然 user_tables 数据字典中也有表的行数 NUM_ROWS 字段,但除非你对该用户进行统计信息收集(运行 dbms_stat.gather_schema_stats()系统包)否则该字段要么没有值,要么值是过期的数据,不准确. 正确的做法是:对数据库用户进行统计信息收集后,立刻执行:
select table_name,num_rows from user_tables;
select table_name,num_rows from user_tables;
展开全部
dba权限下可以查询dba_tables,里面有个num_rows列
select
table_name,num_rows
from
dba_tables
where
...;
条件可以根据自己需要来加
不过提醒下,num_rows列并不是事实更新的,好像是1小时更新一次,查新之前最好先analyze下
analyze
table
xxx
compute
statistics;
select
table_name,num_rows
from
dba_tables
where
...;
条件可以根据自己需要来加
不过提醒下,num_rows列并不是事实更新的,好像是1小时更新一次,查新之前最好先analyze下
analyze
table
xxx
compute
statistics;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用这个
select t.owner,t.table_name,t.num_rows from all_tables t
如果要指定某个用户的话加上
where owner='用户名'
我的数据库是oracle 11g和12c
select t.owner,t.table_name,t.num_rows from all_tables t
如果要指定某个用户的话加上
where owner='用户名'
我的数据库是oracle 11g和12c
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询