查看Oracle中表所有字段的字节总长度

在上一篇文章中,查看表中列属性的SQL语句

查看Oracle中表的简要列属性信息。利用上面的SQL语句,可以改进出来统计表所占物理存储空间大小的语句。

在Oracle中number数字类型所占的空间,计算公式为:

number(p,s) 占用的字节数为: floor( ( p + 1  ) / 2 ) + 1

 

select object_name,sum(decode(data_type,'NUMBER',floor((col_length+1)/2) + 1,col_length)) table_size
from
  (select object_name,column_name,data_type,decode(data_precision,NULL,data_length,data_precision) col_length
    from
      (select o.name object_name,c.column_name column_name,c.data_type,c.data_length,c.data_precision,c.data_scale
        from sys.tab$ t,dba_tab_cols c,sys.obj$ o,sys.user$ u
          where o.obj#=t.obj#
            and o.name=c.table_name
            and c.owner=u.name
            and o.owner#=u.user#
            and u.name='SCOTT'
            /*and o.name='EMP'*/
           ) tab_cols
   ) col_len
group by object_name;

 

上面的SQL语句统计用户scott的所有表占用的物理空间的字节数。

————————————————————————————————-
—- 本文为andkylee个人原创,请在尊重作者劳动成果的前提下进行转载;
—- 转载务必注明原始出处 : http://www.dbainfo.net
—- 关键字:oracle table storage 表字段 占用空间大小
————————————————————————————————-

  • 本文链接地址:http://www.sybrepair.com/oracle-view-table-physical-storage-size.htm
  • 本文为dbainfo个人原创,请在尊重作者劳动成果的前提下进行转载;
  • 转载务必注明原始出处 : Sybase数据库技术,数据库恢复专家
  • 对《查看Oracle中表所有字段的字节总长度》有何疑问或见解,请在本文下方发表;
  • 对网站还有其他问题或建议,请提交在留言板,谢谢!
  • 目前还没有任何评论.
    :wink: :twisted: :roll: :oops: :mrgreen: :lol: :idea: :evil: :cry: :arrow: :?: :-| :-x :-o :-P :-D :-? :) :( :!: 8-O 8)