本文摘自GBASE南大通用社区,by:wty,原文请点击:GBase 8s常见问题 -- 查看表中数据量与表占用空间|GBASE社区|天津南大通用数据技术股份有限公司|GBASE-致力于成为用户最信赖的数据库产品供应商
问题现象
systables系统表中的nrows显示数据量与表中实际数据量不符。
找不到哪里记录表和数据库占用空间大小。
解决方法
systables系统表中存放的只是统计数据,需要执行update statistics(统计更新)后才能显示真实行数。可通过以下方法查看真实行数。
1. 非分片表
非分片表在systables中存储了partnum,使用这个值在sysmaster系统库中的sysptnhdr中的partnum连接,表中当前数据行数。
select t.tabname,t.partnum,p.nrows
from systables t, sysmaster:sysptnhdr p
where t.partnum=p.partnum
and t.tabname="tab1";
2.分片表
分片表在systables中的partnum值为0,每个分片的partnum在sysfragments中的partn里,需要将systables和sysfragments使用tabid连接,再与sysmaster系统库中的sysptnhdr连接查询行数。