第9章索引与索引组织表 索引是一种可选的数据结构,在一个表上是否建 立索引,这不会对表的使用方法产生任何影响。但是 如果在表中的某些字段上建立了索引,这能够显著地 提高对该表的查询速度。并且可以在很大程度上减少 查询时的硬盘/O操作。索引组织表(也称为OT)是 清率电脑学堂 种特殊的表,它将表中的数据以B树索引的方式来 组织表中的数据,利用索引组织表能够显著提高查询 的速度
1 第9章 索引与索引组织表 索引是一种可选的数据结构,在一个表上是否建 立索引,这不会对表的使用方法产生任何影响。但是 如果在表中的某些字段上建立了索引,这能够显著地 提高对该表的查询速度。并且可以在很大程度上减少 查询时的硬盘I/O操作。索引组织表(也称为IOT)是 一种特殊的表,它将表中的数据以B树索引的方式来 组织表中的数据,利用索引组织表能够显著提高查询 的速度
本章知识要点: 理解索引的作用原理 B树索引 位图索引 反向键索引 清率电脑学堂 基于函数的索引 对索引进行修改 索引组织表的优点 索引组织表的溢出存储
2 本章知识要点: • 理解索引的作用原理 • B树索引 • 位图索引 • 反向键索引 • 基于函数的索引 • 对索引进行修改 • 索引组织表的优点 • 索引组织表的溢出存储
9.1索引基础 工二工工工二工工工工工 如果一个表中包含有很多条记录,当对表执行查 询时,必须将所有的记录一一取出,以便将每一条记 录与查询条件进行比较,然后再返回满足条件的记录 。这样进行操作的时间开销和/O开销都是十分巨大 的。这时就可以考虑通过建立索引来减少开销。 清率电脑学堂
3 9.1 索引基础 • 如果一个表中包含有很多条记录,当对表执行查 询时,必须将所有的记录一一取出,以便将每一条记 录与查询条件进行比较,然后再返回满足条件的记录 。这样进行操作的时间开销和I/O开销都是十分巨大 的。这时就可以考虑通过建立索引来减少开销
9.2建立索引 建立索引是使用CREATE INDEX语句完成的。 般情况下,建立索引是由表的所有者完成的,如 果要以其他用户身份建立索引,则要求用户必须具 有CREATE ANY INDEX系统权限或者在相应表的 INDE对象权限。 清率电脑学堂
9.2 建立索引 • 建立索引是使用CREATE INDEX语句完成的。 一般情况下,建立索引是由表的所有者完成的,如 果要以其他用户身份建立索引,则要求用户必须具 有CREATE ANY INDEX系统权限或者在相应表的 INDEX对象权限。 4
9.2.1建立B树索引 B树索引是Oracle中默认的、最常用的索引类型。 B树索引是以B树结构组织并存放索引数据的。默认情 况下,B树索引中的数据是以升序方式排列的。如果表 包含的数据非常多,并且经常在WHERE子句中引用某 列或某几个列,则应该基于该列或该几个列建立B树索 清率电脑学堂 引。B树索引由根块、分支枝和叶块3部分组成,其中 主要数据都集中在叶子结点。 10011012 100110051009 101210161018 1005 ROWID 1009 ROWID 1012 ROWID 1016 ROWID 1018 ROWID 1006 ROWID 1010 ROWID 1013 ROWID 1019 RWID 1011 ROWID 88品 1017 RWID 1020 RWID
9.2.1 建立B树索引 • B树索引是Oracle中默认的、最常用的索引类型。 B树索引是以B树结构组织并存放索引数据的。默认情 况下,B树索引中的数据是以升序方式排列的。如果表 包含的数据非常多,并且经常在WHERE子句中引用某 列或某几个列,则应该基于该列或该几个列建立B树索 引。B树索引由根块、分支枝和叶块3部分组成,其中 主要数据都集中在叶子结点。 5 1001 1012 1001 1005 1009 1001 ROWID 1002 ROWID 1003 ROWID 1004 ROWID 1005 ROWID 1006 ROWID 1007 ROWID 1008 ROWID 1011 ROWID 1010 ROWID 1009 ROWID 1015 ROWID 1014 ROWID 1013 ROWID 1012 ROWID 1017 RWID 1016 ROWID 1020 RWID 1019 RWID 1018 ROWID 1012 1016 1018