综合讨论区~一起来唠嗑
技术年货
文章
精选

数据库春节技术年货 | 系统中查看表中数据量

发表于2026-02-26 13:38:2447次浏览3个评论

你有没有过这种情况:对表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查看各个分片(或非分片)表的行数,页使用情况。

评论

登录后才可以发表评论
milan发表于 2个月前
学习了
GBase用户19279发表于 2个月前
学习~
流泪猫猫头发表于 4小时前
学习了。