为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。 【DM版本】: DM8 【操作系统】:Rh6 【CPU】: X86 【问题描述】*:怎么查询某个实例所有表的数据量?
通过下面这个SQL就可以查询到实例所有表的数据量:
select table_rowcount(owner,table_name) 行数, table_used_space(owner,table_name)/1024.0/1024*page 大小mb, * from dba_tables order by 大小mb desc;
如果我们把上面的SQL再包一层,就可以获取实例中总数据量:
with a as( select table_rowcount(owner,table_name) 行数, table_used_space(owner,table_name)/1024.0/1024*page 大小mb, * from dba_tables order by 大小mb desc )select sum(行数),sum(大小mb) from a;
当然,如果我们想知道某个表后者某些表,在查询dba_tables加上where条件即可,如:
select table_rowcount(owner,table_name) 行数, table_used_space(owner,table_name)/1024.0/1024*page 大小mb, * from dba_tables where owner='用户名' and table_name='表名' order by 大小mb desc;
或者:
select table_rowcount(owner,table_name) 行数, table_used_space(owner,table_name)/1024.0/1024*page 大小mb, * from dba_tables where owner||'.'||table_name in ( 'user1.table1','user2.table2' ) order by 大小mb desc;
通过下面这个SQL就可以查询到实例所有表的数据量:
select table_rowcount(owner,table_name) 行数, table_used_space(owner,table_name)/1024.0/1024*page 大小mb, * from dba_tables order by 大小mb desc;
如果我们把上面的SQL再包一层,就可以获取实例中总数据量:
with a as( select table_rowcount(owner,table_name) 行数, table_used_space(owner,table_name)/1024.0/1024*page 大小mb, * from dba_tables order by 大小mb desc )select sum(行数),sum(大小mb) from a;
当然,如果我们想知道某个表后者某些表,在查询dba_tables加上where条件即可,如:
select table_rowcount(owner,table_name) 行数, table_used_space(owner,table_name)/1024.0/1024*page 大小mb, * from dba_tables where owner='用户名' and table_name='表名' order by 大小mb desc;
或者:
select table_rowcount(owner,table_name) 行数, table_used_space(owner,table_name)/1024.0/1024*page 大小mb, * from dba_tables where owner||'.'||table_name in ( 'user1.table1','user2.table2' ) order by 大小mb desc;