描述:
对表 tab1 一次性插入 10000 行数据后, 通过 systables 表中的 nrows 查看, 行数依然为0。 如何查看 tab1 真实的数据量? 如果 tab1 是分片表, 又该如何查看每个分片中各有多少数据?
解决办法:
systables 系统表中存放的只是统计数据, 需要执行 update statistics(统计更新) 后才能显示真实行数。 可以通过以下方法查看真实行数1、 如果是非分片表, 可以通过 systables 中的 partnum 与 sysmaster 库 sysptnhdr 表中的 partnum 做连接。 Sysptnhdr 表中的 nrows 是实时的真实行数, npdata 是真实的数据使用的页数量:
select t.tabname,t.partnum,t.nrows,p.nrows,p.npdata
from stores_demo@gbaseserver:systables t, sysmaster@gbaseserver:sysptnhdr p
where t.partnum=p.partnum and t.tabname="customer";
2、 如果是分片表, 可以通过 sysfragments 中的 partn 与 sysmaster 库 sysptnhdr 表中的partnum 做连接;
3、 可以通过 oncheck -pt dbname:tab1 查看各个分片(或非分片) 表的行数、 页使用情况
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




