博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

如何求一表所有行所有字段实际占用的空间

Posted on 2012-07-27 16:47  徐正柱-  阅读(365)  评论(0编辑  收藏  举报

1.查询普通行的数据所占空间:

表:DIM_USAGE

如表结构:

create table DIM_USAGE
(
  USAGE      VARCHAR2(20),
  USAGE_NAME VARCHAR2(120)
)

求所有记录行所占空间:

select 3+vsize(USAGE)+1+nvl(vsize(USAGE_NAME),0)+1 from DIM_USAGE;

2.查询含有 BLOB字段的空间大小

select dbms_lob.getLength(ATTACHMENT_CONTENT)/1024 ||'KB' from TOP_ATTACHMENT_CONTENT a
;