日期:2014-05-17  浏览次数:20975 次

这可能么?
solaris8+oracle10 下有个表我比较关注,10天前为1640万行,大小为688m;今天再查变为1590万行,大小为696m;行数减小了,可占用空间变大了,这可能么?

注:我是在企业管理器里看的“行数”;
查表大小的语句: 
select segment_name,sum(bytes)/1024/1024 from user_segments
  group by segment_name having segment_name='表名';

------解决方案--------------------
不能只凭记录行数来判读表的大小。

有可能某些行写的数据多,比如字符串类型的,有的可能只写了几个字,有的写了几千个字符。
还有二进制的,文本类型的,都可能存储的数据每行都不一样大。

------解决方案--------------------
应该是有记录被插入,然后又被删除,所以你看到的数据记录变少了,但实际上删除记录并不释放高水位线,因此 段比以前大是正常现象.
高水位线好比水库中储水的水位线,用于描述数据库中段的扩展方式。高水位线对全表扫描方式有着至关重要的影响。当使用delete 操作
表记录时,高水位线并不会下降,随之导致的是全表扫描的实际开销并没有任何减少。

更详细: 高水位线和全表扫描 .