Oracle利用MOVE压缩表的高水位线

2012-11-12

  考试大编辑整理:如果表的高水位线比较高,或者表经历了大数据量的产生操作,经常会使用ALTER TABLE MOVE的方法来减少表占用的空间。

  不过今天才发现以前对MOVE的了解一直存在偏差。

  看一个简单的例子:

  两张表几乎一样大,而且都是空表。但是通过MOVE之后,得到的结果却完全不同。

  SQL> SELECT SEGMENT_NAME, BYTES/1024/1024/1024 G

  2 FROM USER_SEGMENTS

  3 WHERE SEGMENT_NAME LIKE 'T_BIG_TABLE%';

  SEGMENT_NAME G

  ------------------------------ ----------

  T_BIG_TABLE 1

  T_BIG_TABLE2 1.3125

  SQL > ALTER TABLE T_BIG_TABLE MOVE;

  表已更改。

  SQL> ALTER TABLE T_BIG_TABLE2 MOVE;

  表已更改。

  SQL> SELECT SEGMENT_NAME, BYTES/1024/1024/1024 G

  2 FROM USER_SEGMENTS

  3 WHERE SEGMENT_NAME LIKE 'T_BIG_TABLE%';

  SEGMENT_NAME G

  ------------------------------ ----------

  T_BIG_TABLE 1

  T_BIG_TABLE2 .000061035

  SQL > SELECT COUNT(*) FROM T_BIG_TABLE;

  COUNT(*)

  ----------

  0

  SQL > SELECT COUNT(*) FROM T_BIG_TABLE2;

  COUNT(*)

  ----------

  0

分享到:
0
相关阅读
友情链接
© 2018 我考网 http://www.woexam.com 中国互联网举报中心 湘ICP备18023104号 京公网安备 11010802020116号
违法和不良信息举报:9447029@qq.com