为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:8
【操作系统】:
【CPU】:
【问题描述】*:达梦数据库有没有类似mysql一样的系统表,能够直接查询表数据量
可以通过如下方式来查询
–创建表
create table dm_tables(tab_owner varchar(100),tab_name varchar(100),tab_count int);
–将查询的行数记录到表中
begin
for rec in (select owner,object_name from all_objects where owner = ‘用户名’ and object_type=‘TABLE’) loop
execute immediate ‘insert into dm_tables select ‘’’|| rec.owner ||‘’‘,’‘’||
rec.object_name ||‘’',count(*) from '|| rec.owner || ‘.’ || rec.object_name;
end loop;
end;
注意’用户名’改成实际要查询的用户。
SELECT OWNER,TABLE_NAME,NUM_ROWS,* FROM SYS.ALL_TABLES WHERE OWNER IN (SELECT NAME FROM SYS.SYSOBJECTS WHERE TYPE$=‘SCH’ AND PID IN(SELECT ID FROM SYS.SYSOBJECTS WHERE TYPE$=‘UR’ AND SUBTYPE$=‘USER’ AND NAME NOT IN(‘SYS’))
) order by owner,table_name