Oracle数据库从入门到精通系列之九:Oracle数据库表
一、表类型
Oracle主要有以下9种表类型:
- 堆组织表
- 聚簇表:索引聚簇表、散列聚簇表、有序散列聚簇表
- 嵌套表
- 临时表
- 外部表
- 对象表
二、堆组织表
堆组织表:
- 标准数据库表。数据在其中以堆的方式管理。增加数据时,会找到并使用段中第一个能放下此数据的自由空间。从表中删除数据时,则允许以后的INSERT和UPDATE重用这部分空间。
- 堆是指一组空间,被以某种随机的方式来使用。
三、索引组织表
索引组织表:
- 这些表按索引结构存储。强制要求行本身有某种物理顺序。
- 在堆表中,只要空间放得下,数据可以放在其中任何位置。
- 索引组织表(IOT)则不同,数据要根据主键有序地存储在IOT中。
四、索引聚簇表
索引聚簇表:
- 聚簇是指一个或多个表组成的组,这些表中的数据物理地存储在相同的数据库块上,有相同聚簇键值的所有行会物理存储在相邻的位置。
- 这种结构可以实现两个目标。首先,多个表可以被物理地存储在一起。一般而言,一个数据库块只包含一个表的数据,但是对于聚簇表,可能把多个表的数据存储在同一个块上。其次,包含相同聚簇键值(如DEPTNO=10)的所有数据会物理地存储在一起。因此数据会按聚簇键值聚簇在一起,而聚簇是使用B*Tree索引建立的。
- 索引聚簇表的优点是当频繁访问以聚簇键连接的多个表时,能减少磁盘I/O并提高