ITPub博客

首页 > Linux操作系统 > Linux操作系统 > GreenPlum 获取表存储大小的方法推荐

GreenPlum 获取表存储大小的方法推荐

原创 Linux操作系统 作者:myamor 时间:2012-08-31 09:11:44 0 删除 编辑
第一种方法:   
 
   查看表占用空间的语句可以用,但有时候好像是查不出来的
 
   select pg_size_pretty(pg_relation_size('schema.tablename'));
 
第二种方法:
 
   还有一种方法是从视图  gp_toolkit.gp_size_of_table_disk 中获取表的大小
 
   但这个表由于算法比较复杂,导致如果批量查询的速度非常慢,至少我是没有查出来过(可能是本人有耐心有限吧)
  
    但经过测试发现单表的查询速度还是比较快的
   
    因此可以结合定pg_tables 表(存放的是所有的表信息)进行统计
 
    以下是本人写的一个函数(根据模式名进行统计),公供参考
 
      for rec in
          select schemaname||'.'||tablename tablename
            from pg_tables
          where schemaname=v_schemaname
    loop
        select sotdschemaname||'.'||sotdtablename aa,sotdsize,sotdtoastsize,sotdadditionalsize
          into rec1
          from gp_toolkit.gp_size_of_table_disk a
         where a.sotdoid =rec.tablename::regclass;
   end loop;

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/177006/viewspace-742316/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2012-03-20

  • 博文量
    21
  • 访问量
    159551