Oracle官方文档翻译《Database Concepts 23ai》第5章-索引和索引组织表-索引简介(3)

5 Indexes and Index-Organized Tables

Introduction to Indexes

Types of Indexes

索引的类型

Oracle数据库提供了几种索引模式,提供了互补的性能功能。

B-树索引是标准的索引类型。它们非常适用于高度选择性的索引(每个索引条目对应少量的行)和主键索引。作为连接索引使用时,B-tree索引可以检索按照索引列排序的数据。B-树索引具有下表中展示的子类型。

表5-1 B-树索引子类型

B-树索引子类型描述了解更多
索引组织表索引组织表与堆组织表不同之处在于数据本身就是索引。“Overview of Index-Organized Tables”
反向键索引在这种类型的索引中,索引键中的字节被反转了,例如,103被存储为301。反转字节可以将对索引的插入分散到多个数据库块上。“Reverse Key Indexes”
降序索引这种类型的索引按照一个特定列或多列的降序存储数据。“Ascending and Descending Indexes”
B-树簇索引这种类型的索引用于索引表的簇键。这个键不是指向某一行,而是指向包含簇键相关行所在的块。“Overview of Indexed Clusters”

以下表格展示了不使用B-树结构的索引类型。

表5-2 不使用B-树结构的索引

类型描述了解更多
位图和位图连接索引在位图索引中,索引条目使用位图来指向多行。相比之下,B树索引条目指向单行。位图连接索引是用于两个或多个表连接的位图索引。“Overview of Bitmap Indexes”
基于函数的索引这种类型的索引包括通过函数(如UPPER函数)转换的列,或包含在表达式中的列。B树索引或位图索引都可以是基于函数的。“Overview of Function-Based Indexes”
应用程序域索引这种类型的索引是用户为特定应用程序域的中数据创建的。其物理索引不一定需要使用传统的索引结构,可以将其作为表存储在Oracle数据库中,也可以作为文件存储在外部。“Overview of Application Domain Indexes”

另请参阅:

  • Oracle Database Administrator’s Guide 了解如何管理索引
  • Oracle Database SQL Tuning Guide 了解不同的索引访问路径
How the Database Maintains Indexes

数据库如何维护索引

数据库在索引创建后会自动维护和使用这些索引。

索引会自动反映其基础表的数据更改。更改的示例包括增加、更新和删除行。不需要用户进行操作。

即使插入了行,索引数据的检索性能仍然几乎保持恒定。然而,一张表上如果存在多个索引会降低DML操作的性能,因为数据库还必须更新这些索引。

另请参阅:

  • Oracle Database Administrator’s Guide 了解更多关于自动索引的信息
  • Oracle Database Licensing Information User Manual 了解不同版本和服务支持哪些特性的详情
Index Storage

索引存储

Oracle数据库将索引数据存储在一个索引段中。

数据块中索引数据的可用空间等于数据块大小减去块开销、条目开销、行标识(rowid),以及每个索引值的一个长度字节。

索引段的表空间可以是所有者的默认表空间,也可以是在CREATE INDEX语句中明确指定的表空间。为了方便管理,您可以将索引存储在与其表不相同的表空间中。例如,您可以选择不备份那些只包含索引的表空间,因为这些可以重建,从而减少备份所需的时间和存储空间。

另请参阅:

  • “Overview of Index Blocks” 了解索引块的类型(根、分支和叶),以及索引条目是如何存储在块内部的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值