DEFERRED_SEGMENT_CREATION

简介:

deferred_segment_creation 延迟段创建是11.2的新特性, 当创建一个 空表或者空分区时,实际的表段table segment被延迟到第一行数据插入的时候。 该功能通过DEFERRED_SEGMENT_CREATION参数启用,默认为TRUE. 由DEFERRED_SEGMENT_CREATION启用的新的空间分配方式的优势在于: 若系统安装后存在大量空表,而这些空表将从不会加载任何数据;假设一个空表占用64k(db_block_size=8,一个extent)的空间,则若存在一万张这样的空表 就要消耗625M的空间 当应用程序初次安装需要创建大量空表时,因为延迟了数据段创建的过程,所以可以节约大量时间 当向这些空表或者空分区插入第一行数据时,对应的表、LOb字段和索引的segment段会被创建。 在段创建过程中,相关表上的游标将失效invalidation。 官方认为在这里游标失效对性能的影响很小。 而且需要注意的使用deferred_segment_creation=true的情况下,更应当注意表空间的使用率,说不定哪一天这些空表全被用上了,哪就有点老母鸡变鸭了。 可以通过dba_tables、dba_indexes视图的SEGMENT_CREATED 字段确定该对象的 段是否被创建了。 SQL> select distinct segment_created from dba_tables; SEG --- NO YES N/A 



本文转自maclean_007 51CTO博客,原文链接:http://blog.51cto.com/maclean/1277738

相关文章
有趣的 events_statements_current 表问题
有趣的 events_statements_current 表问题
160 0
|
监控 Oracle 关系型数据库
|
Oracle 关系型数据库 MySQL
Strategies for Effective Database Synchronization
This article looks at some of the typical questionsthat arise when dealing with databases. In our discussion, we willnot stick to analyzing only a single type of database.
1809 0