oracle主要有9种表类型:
1>. 堆组织表(heap organized table):
"普通"的标准数据表. 数据以堆的方式管理, insert, update只要找到自由空间存放数据就可, delete数据后的空间可以重用.
全表扫描时, 会按命中的顺序来获取数据, 而不是按插入的顺序. 数据表是无序的数据集合. 同一个查询可能以不同的顺序取出数据.
2>. 索引组织表(index organized table):
按索引结构存放, 强制要求行本身有某种物理顺序. 数据按主键有序存放.
与heap organized table比较: 堆表有主键索引的空间开销, iot表就不存在了, 本身就是有序存放的.
如果你只通过主键来访问该表, 侧使用iot表比较好.
create table iot_tablename
(
-- ....
)
organization index;
3>. (index clustered table):
将一个或多个表组成的组, 物理的存放在相同的数据块上, 有相同键值的所有行会相邻地存放. 按b*树建立索引.
culster: 如果一组表有有一些共同的列, 就将这样一组表存放在相同的数据块上. cluster也可以在一张表的某个列上. cluster不是有序的存放数据, 而是按某个列聚簇方式存放数据, 数据存放在堆中.
4>. (hash clustered table):
与index cluster table相似, 不使用b*树建立索引, 采用hash函数的型式.
5>. (sorted hash clustered table):
add in oracle 10g. 接合了iot(index organized table)和hash clustered table的特性.
6>. (nested table):
是oracle对象关系的扩展, 类似父/子关系表, 但没有子表那样独立.
7>. (temporary table):
存放事务期或会话期的"草稿"数据. 在临时表空间中分配.
8>. (object table):
基于对象类型创建.
9>. (external table):
表不存放在数据库中, 存放在操作系统的文件中.
--------------------------------------------
段(segment)类型
1>. cluster:
能存放表, 通常存放多个表上相关的数据, 该段可以把相关的信息物理的聚在一起. cluster有两种类型:b*树和hash.
2>. table:
最常见的段类型, 通常与索引段关联使用.
3>. table partition or subpartition:
用于表的分区.
4>. index:
保存索引结构信息.
5>. index partition:
用于索引的分区
6>. lob partition, lob subpartition, lob index, lob segment :
对包含lob对象的分区
7>. nested table:
为nest表保存数据.
8>. rollback and type2 undo:
rollback segment 由dba手动建立, type2 undo由oracle自动建立与管理.
eg:
sql>select segment_name, segment_type from user_segments;
no rows selected
sql>create table t( x int primary key, y clob, z blob);
table created.
sql>select segment_name, segment_type from user_segments;
setgment_name segment_type
--------------------- -------------------
t table
sys_il0000030233c00002$$ lobindex
sys_il0000030233c00003$$ lobindex
sys_c002241 index
sys_lob0000030233c00002$$ lobsegment
sys_lob0000030233c00003$$ lobsegment
6 rows selected.
-----------------------------------------------------------
segment space management
1>. manual segment space management:
由你设置freelists, freelistgroups, pctused和其它参数来控制如何分配,使用segment.
2>. automatic segment space management:
设置pctfree, buffer_pool, initrans, maxtrans
阅读(1865) | 评论(0) | 转发(0) |