查看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 表字段 占用空间大小
————————————————————————————————-