一、Oracle中的数据表
(物理存储结构)除了基本的堆表之外,分为:索引组织表、外部表、临时表、对象表、嵌套表、聚簇表。
索引组织表:
特点:将索引与数据存储结合在数据存储时即实现对数据的有序存储
好处:保证了检索效率的同时,节省了存储空间。
提高数据的检索效率
两个优点在本质上是一致的,根本都在于索引组织表将“相似“的数据存储在“邻近”的物理空间上。
外部表:
适用情况:希望在操作系统中使用操作系统文件所包含的数据,减少不必要的资源消耗。
临时表:
适用情况:所需处理的中间数据量很大
tips:临时表中的数据仅对当前回话可见,所以不存在资源竞争出现死锁。
对象表:
使用对象类型存储数据
eg:
create or replace type type_name as object (type1 number(8,2),type2 number(5,3));
嵌套表:
对对象表的运用
聚簇表:
三种聚簇表:索引聚簇表、哈希聚簇表、有序散列聚簇表
具有向同聚簇键值得所有行会相邻地物理存储,从而提高查询效率。
二、Oracle视图
物化视图:
虽为视图但是却存储了实际的数据。
关系视图:(虚表)不存储实际的数据
对象视图:对象视图将关系表投射到特定数据类型的虚拟对象表中,视图的每行都是带有属性、方法、唯一的标识的对象实例
内嵌视图:嵌套到父查询中的子查询。
eg:
三、Oracle索引
反转键索引:为了解决B*树频繁的对具有高索引键值得叶子节点进行更新。
位图索引:适用于相异基数比较低的属性列中。
四、Oracle序列
eg:
create sequence seq_test
start with 100
increasement by 2
minvalue 98
maxvalue 200
cycle;
序列cache
缓存机制:
可能会导致缓存的数据丢失。