码迷,mamicode.com
首页 > 数据库 > 详细

Oracle 11g新特性延迟段创建和truncate的增强

时间:2015-01-23 17:44:04      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:

下面测试Oracle 11g开始的新特性truncate的增强和延迟段空间创建。
Oracle从11g开始,当用户创建一张空表的时候不会先分配段和空间,只有当对这张表插入第一行数据的时候才分配段和空间。
这就解决了有很多表是空的但是占用大量的磁盘空间。
 
测试11g延迟段创建和truncate
用户下有一张新表
SQL> select * from tab;

TNAME                          TABTYPE  CLUSTERID
------------------------------ ------- ----------
TEST1                          TABLE

SQL> select segment_name,bytes from user_segments;        ----还没有给分配空间

no rows selected

SQL> insert into test1 select * from dba_objects where rownum<2;     -----插入一行记录

1 row created.

SQL> select segment_name,bytes from user_segments;       ----分配空间

SEGMENT_NAME                        BYTES
------------------------------ ----------
TEST1                               65536

SQL> commit;

Commit complete.

SQL> alter table test1 allocate extent;          ------手动给表分配一个区

Table altered.

SQL> select segment_name,bytes from user_segments;

SEGMENT_NAME                        BYTES
------------------------------ ----------
TEST1                              131072

SQL> truncate table test1;          ------使用不加子句的truncate

Table truncated.

SQL> select segment_name,bytes from user_segments;       -----只是删除到最小的区

SEGMENT_NAME                        BYTES
------------------------------ ----------
TEST1                               65536
 
SQL> truncate table test1 drop all storage;         -----使用11g中新加的子句drop all stroage

Table truncated.

SQL> select segment_name,bytes from user_segments;      -----段全部被回收

no rows selected

 

 

Oracle 11g新特性延迟段创建和truncate的增强

标签:

原文地址:http://www.cnblogs.com/haoxiaoyu/p/4244397.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!