oracle表的类型——堆组织表(默认)

来源:互联网 发布:周杰伦secret知乎 编辑:程序博客网 时间:2024/06/02 11:45
执行CREATE TABLE语句时,默认得到的表类型就是堆组织表。其他类型的表结构需要在CREATE TABLE语句本身中指定它。

堆组织表中,数据以堆的方式管理。增加数据时,会使用段中找到的第一个能放下此数据的自由空间。从表中删除数据后,允许以后的INSERT和UPDATE重用这部分空间。堆(heap)是一组空间,以一种随机的方式使用。因此,无法保证按照放入表中的顺序取得数据。

有1个简单的技巧,来查看对于给定类型的表,CREATE TABLE语句中主要有哪些可用的选项。
首先,尽可能简单地创建表,然后使用DBMS_METADATA来查询这个表的定义。

create table t(x int primary key, y clob);  

select dbms_metadata.get_ddl( 'TABLE', 'T' ) from dual;

  1. DBMS_METADATA.GET_DDL('TABLE','T')  
  2. ------------------------------------------------------------------------   
  3.   
  4.   CREATE TABLE "TONY"."T"  
  5.    (    "X" NUMBER(*,0),  
  6.         "Y" CLOB,  
  7.          PRIMARY KEY ("X")  
  8.   USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 NOCOMPRESS LOGGING  
  9.   TABLESPACE "USERS"  ENABLE  
  10.    ) SEGMENT CREATION DEFERRED  
  11.   PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING  
  12.   TABLESPACE "USERS"  
  13.  LOB ("Y") STORE AS BASICFILE (  
  14.   TABLESPACE "USERS" ENABLE STORAGE IN ROW CHUNK 8192 RETENTION  
  15.   NOCACHE LOGGING )  

原创粉丝点击