管理对象空间——段

本文深入探讨了Oracle数据库中各类存储段的概念及其用途,包括表段、表分区段、簇段、索引段、索引分区段、索引组织表段、undo段、临时段、LOB段、LOB索引段、嵌套表段和根引导段。文章详细介绍了每种段的功能、应用场景以及如何在数据库中合理使用它们以提高性能。

段用于存储特定逻辑对象的所有数据,他是由一个或多个区组成的。当建立表,索引或簇时,oracle会为这些对象分配存储空间存放数据文件,为这些对象分配的存储空间称为段。在一个表空间上可以包含一个或多个段,一个段只能放在一个表空间上。

1.表段(table)

表段用于存储表的所有数据(段名=表名)。当建立表时,oracle会为该表建立相应的表段,并且表段只能存放在一个表空间中。

2.表分区段(table partition)

表分区段用于存储分区表特定分区的数据,每个分区对应一个表空间区段。通过使用分区选项,可以将一张大表的数据部署到多个不同的分区段中,从而降低i/o次数,最终提高i/o性能。

3.簇段(cluster)

簇段用于存储簇表的数据(段名=簇名)。簇用于逻辑组织相关表的数据,使用簇的目的是为了降低i/o次数,提高i/o性能。

4.索引段(index)

索引段用于存储索引的数据(段名=索引名)。当建立索引时,oracle会为索引建立相应的索引段,并且一个索引段只能存放在一个表空间中。

5.索引分区段(index partition

索引分区段用于存储分区索引特定分区的数据,每个分区对应一个索引分区段。索引分区类似于表分区,通过使用分区选项,额可以将大索引部署到不同分段中,从而降低i/o次数,最终提高i/o性能。

注意:索引分区只能建立在分区表上,不能建在普通表上。

6.索引组织表段(index——organize table)

索引组织是以b*_树结构来组织表数据的。如果经常在where子句使用主键列定位表数据,那么可以考虑建立索引组织表,以加快数据访问速度。一般情况下,表和索引的数据分别存在表段和索引段,但是如果建立索引组织表,则表和主键索引会存放到索引组织表段。

注意:当建立索引表时,必须定义主键列。

7.undo段

undo段用于存放事务所修改的旧值。

8.临时段(temporary segment)

临时段用于存放排序操作所产生的的临时数据。

9.lob段

lob段用于存储lob列的数据,对于lob列来说,如果数据长度低于4000字节,那么该列与其他列的数据会一起存放在表段中;如果数据长度超过4000字节。那么数据将会存放到lob段中。

10.lob索引段

lob索引段用于存放lob索引的数据。当定义lob类型时,oracle不仅会为lob列建立lob段,而且还会建立lob索引段,以加快lob 数据的检索速度。

11.嵌套表段(nested table)

嵌套表段用于存储嵌套表类型列的数据。嵌套表类型类似于高级语言中的数组类型,该类型可以作为表列的数据类型引用。当定义了嵌套表列时,oracle 会自动为该列分配嵌套表段,以存放期数据。

12.根引导段(cache)

根引导段用于初始化数据字典高速缓存,因此称为cache段。它是在建立数据库时使用sql.bsq脚本自动建立的。并且该段的维护是由orcle 自动完成的,不需要dba进行任何干预。


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值