Oracle数据库索引的管理与维护

更新时间:2023-09-05 16:10:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Oracle数据库索引的管理与维护

杭州电子科技大学

Oracle 数据库应用与设计

目标在完成本章学习后,你将掌握下列技能:

索引基本概念 四种关键索引 如何创建索引 何时使用索引

杭州电子科技大学

Oracle 数据库应用与设计

本章内容

什么是索引 四种关键索引 索引的创建 索引的使用

杭州电子科技大学

Oracle 数据库应用与设计

本章内容导航

什么是索引 四种关键索引 索引的创建 索引的使用

杭州电子科技大学

Oracle 数据库应用与设计

什么是索引索引 (index)索引之于表数据如同目录之于一本书。

提高DB性能

优化SQL

索引

杭州电子科技大学

Oracle 数据库应用与设计

索引和非索引查找方法使用了索引和非索引的两种方法,极大影响性 能。

非索引的全表搜索 索引的rowid

杭州电子科技大学

Oracle 数据库应用与设计

何为索引索引是与表关联的可选结构。通过创建索引可 提高数据更新和检索的性能。Oracle 索引提供 到数据行的直接访问路径。 可以对表的一个或多个列创建索引。创建索引 后,Oracle 服务器会自动维护和使用索引。表 数据的更新(如添加新行、更新行或删除行) 会自动传播到所有相关的索引,这些对用户来 说是完全透明的。

杭州电子科技大学

Oracle 数据库应用与设计

索引工作原理… WHERE key = 22行 指针

2 2索引

22

杭州电子科技大学

Oracle 数据库应用与设计

本章内容导航

什么是索引 四种关键索引 索引的创建 索引的使用

杭州电子科技大学

Oracle 数据库应用与设计

四种关键索引

B树索引

位图索引

四种关键索 引

反向键索引

基于函数的索引

其它索引(interMedia全文索引和降序索引 )

杭州电子科技大学

Oracle 数据库应用与设计

B树索引B 树索引采用二进制树的形式,它是默认的索引类型。索引条目

分支 索引条目头 键列长度 键列值 ROWID

索引的顶层为根,它包含 指向索引中下一层次的条 目。下一层次为分支块, 它又指向位于索引中下一 层次的块。位于最低层次 的是叶节点,它包含指向 表行的索引条目。叶块双 向相互关联,这便于按键 值升序或降序扫描索引。

杭州电子科技大学

Oracle 数据库应用与设计

B树索引B 树索引的键值存储在平衡树(B 树)中, 这样可以进行快速的二进制搜索 搜索数据所经过的索引层次是相同的 各叶子节点中包括的数据有索引列的值和数 据表中对应的ROWID

杭州电子科技大学

Oracle 数据库应用与设计

位图索引注意:要使用位 图索引必须是 oracle的企

业版表

文件 3 块 10块 11

索引

块 12

开始 结束 ROWID ROWID

位图

<Blue, 10.0.3, 12.8.3, 1000100100010010100> <Green, 10.0.3, 12.8.3, 0001010000100100000> <Red, 10.0.3, 12.8.3, 0100000011000001001> <Yellow, 10.0.3, 12.8.3, 0010001000001000010>

杭州电子科技大学

Oracle 数据库应用与设计

位图索引

表具有数百万行且键列的基数较低时使用, 也就是列的独特值极少时。例如,对于护照 记录表中的性别和婚姻状况列

经常使用与 OR 运算符有关的多个 WHERE 条件的组合进行查询时使用

键列上存在只读活动或较少更新活动时使用

杭州电子科技大学

Oracle 数据库应用与设计

反向键索引

特殊类型的B树索引 对有序数进行特殊处理,使得其适合B树分布 如果用户选择使用反转键索引,那么只需在通 常的索引语句末尾添加一个关键字reverse即可

杭州电子科技大学

Oracle 数据库应用与设计

基于函数的索引

基于一个应用于表中数据的函数(BFI, Based Function Index)

可以不改变现有程序的SQL语句 create index 索引名 on 表名 (函数(列名));

杭州电子科技大学

Oracle 数据库应用与设计

本章内容导航

什么是索引 四种关键索引 索引的创建 索引的使用

杭州电子科技大学

Oracle 数据库应用与设计

索引的创建

CREATE INDEX my_index ON employees(last_name, first_name);

杭州电子科技大学

Oracle 数据库应用与设计

B树索引的创建语法B树索引默认情况下,系统为主键创建B树索引

CREATE INDEX hdu.unitname_idx ON hdu.G_unitnum (unitname);

必须有hdu的CREATE INDEX权限

本文来源:https://www.bwwdw.com/article/ab3i.html

Top