learn oracle table-凯发app官方网站

凯发app官方网站-凯发k8官网下载客户端中心 | | 凯发app官方网站-凯发k8官网下载客户端中心
  • 博客访问: 3977593
  • 博文数量: 536
  • 博客积分: 10470
  • 博客等级: 上将
  • 技术积分: 4825
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-26 14:08
文章分类

全部博文(536)

文章存档

2024年(3)

2021年(1)

2019年(1)

2017年(1)

2016年(2)

2013年(2)

2012年(10)

2011年(43)

2010年(10)

2009年(17)

2008年(121)

2007年(252)

2006年(73)

相关博文
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·

分类: oracle

2006-11-21 12:17:38

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) |
0

上一篇:oracle table type

下一篇:truncate and delete

给主人留下些什么吧!~~
")); function link(t){ var href= $(t).attr('href'); href ="?url=" encodeuricomponent(location.href); $(t).attr('href',href); //setcookie("returnouturl", location.href, 60, "/"); }
网站地图