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


    下面测试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
     
  • 相关阅读:
    高精度加法
    高精度计算(一)
    算法总结
    崛起之路
    2015浙江高考满分作文汇总(9篇)
    努力
    NOIP2015总结
    P3197 [HNOI2008]越狱[组合数学]
    【原创】SPFA判负环
    P1351 联合权值[鬼畜解法]
  • 原文地址:https://www.cnblogs.com/haoxiaoyu/p/4244397.html
Copyright © 2020-2023  润新知