2016 - 2024

感恩一路有你

Oracle的五种表的优缺点概述

浏览量:1785 时间:2024-01-16 11:04:08 作者:采采

普通表(heap table)

普通表适用于大多数设计场景,具有一些优点和缺点。

优点:

1. 语法简单方便。

2. 适合大多数场景。

缺点:

1. 更新日志开销较大。

2. Delete操作无法释放空间(HWM High Water Mark不下降)。

3. 表记录过大会导致检索变慢。

4. 索引回表读的开销很大。

5. 即使有序插入,也很难保证有序读出。

全局临时表

全局临时表适用于接口表设计。

优点:

1. 高效删除。

2. 产生很少的日志。

3. 不同SESSION独立,不会产生锁。

缺点:

1. 语法复杂。

2. 数据无法得到有效的保护。

全局临时表分为两类:基于会话的全局临时表(on commit preserve rows)和基于事务的全局临时表(on commit delete rows)。以下是创建例子:

```

create global temporary table T_TMP_SESSION on commit preserve rows as select * from dba_objects;

create global temporary table T_TMP_TRANSACTION on commit delete rows as select * from dba_objects;

```

分区表

分区表特别适用于日志表和非常大的表。

优点:

1. 有效的分区消除(分区裁剪)。

2. 高效的记录清理(可以对某一个分区进行truncate)。

3. 高效的记录转移(分区交换)。

缺点:

1. 语法复杂。

2. 分区过多会对系统产生一定的影响。

索引组织表

索引组织表适合极少更新的表。

优点:

1. 表即为索引,可以避免回表操作。

缺点:

1. 语法复杂。

2. 更新开销较大。

蔟表

蔟表适用于需要频繁关联查询的多表情况。

优点:

1. 可以减少或避免排序操作。

缺点:

1. 语法复杂。

2. 表更新的开销较大。

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。