怪现象,记录平均长度乘以总行数得到的值,比表占用的空间值还大?

[复制链接]
查看11 | 回复0 | 2012-7-12 18:47:29 | 显示全部楼层 |阅读模式
ORACLE 11204 LINUX
用表的记录平均长度(DBA_TABLES.AVG_ROW_LEN),乘以总行数(DBA_TABLES.NUM_ROWS)得到的值,对比表所占用的磁盘空间值(DBA_SEGMENT.BYTES),
本意是想对比找出,是否存在高水位比较大的表?当相差一倍时,就可以认为存在,
正常情况下,前者的尺寸,应该小于后者,因为后者尺寸里包含了管理这数据的元数据,所需要的一些空间;除非是表带了LOB字段,并且数据字典给出的DBA_TABLES.AVG_ROW_LEN值,
包含了LOB字段的长度值(我不知道这种情况下,是否包含LOB的长度),此时,前者才有可能大于后者,因为后者只计算表的普通字段所占用的尺寸,LOB字段单独计算,但我的脚本里,
排除了包含LOB字段的表,只对比查找不包含LOB字段的表,但发现,存在一条记录(一个表),其前者的尺寸值,大于后者? 我100%采集该表后,再查询,结果不变,
请问:这是为什么?


20211112135312.png (41.13 KB, 下载次数: 18)
下载附件
2021-11-12 14:50 上传
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行