概述
之前我记得是分享过怎么去看某个表的数据所占的存储的,但是那时候有个地方考虑的不太仔细,实际上应该分有没大字段这种情况,下面对这两种情况做一个划分和计算表存储的方式。
查看没有大字段的表的数据存储
脚本如下:
select s.owner, s.segment_name, s.segment_type, s.bytes/1024/1024 MB from dba_segments s where s.owner = 'GZCSS_GZBH' order by 4;
如果没有大字段就直接这样计算就可以了,如果没有DBA权限就查user_segments这个表。
查有大字段的表的数据存储
脚本如下:
select s.owner, s.segment_name, s.segment_type, l.table_name, s.bytes/1024/1024 MB from dba_segments s, dba_lobs l where s.segment_name = l.segment_name and s.owner = 'GZCSS_GZBH' order by 5;
这里查询可以知道ARCHIVEMESSAGES 表的大字段所占存储 : 0.0625MB
select s.owner, s.segment_name, s.segment_type, s.bytes/1024/1024 MB from dba_segments s where s.SEGMENT_NAME ='ARCHIVEMESSAGES'
这里查询可以知道ARCHIVEMESSAGES 表除了大字段所占存储 : 0.625MB
也就是ARCHIVEMESSAGES 表实际所占存储应该是0.625+0.0625 MB
关于这两种不同类型的表的计算方式就介绍到这了,因为是测试环境,所以数据量少很多,大家也可以自己测试一下。
后面会分享更多DBA方面内容,感兴趣的朋友可以关注下!!