分类: Oracle
2008-09-08 10:06:23
索引:提供了一种快速检索表中数据的机制
l 与表关联的可选结构
l 加快SQL语句的执行
l 减少磁盘I/O
l CREATE
l 在逻辑上和物理上独立于表中的数据
l Oracle 自动维护索引
索引分类
1> 唯一索引
l 确保在定义索引的列中没有重复的值
l Oracle自动为主键和唯一键列创建唯一索引
l Create unique
2> 组合索引
l 在表的多个列上创建的索引,也称为“连接索引”
l 组合索引中的列可以按任意顺序排列
l 对于在where子句中包含多个列的查询,可以提高数据访问速度
3> 反向键索引 (不常用)
l 反转索引列中的每一个字节
l 将数据插入操作分布在整个索引上
l 在创建索引时使用reverse关键字
4> 位图索引
5> 索引组织表(不常用)
l 表的数据存储在与其关联的索引中
l 对表数据的修改只会导致索引的更新
l 基于主键进行搜索
l Create table 命令与organization index 子句一起用于创建索引组织表
普通表与索引组织表的对比
普通表 |
索引编排表 |
ROWID唯一地标识行 |
主键唯一地标识行 |
隐式的ROWID列 |
没有隐式的ROWID列 |
基于ROWID的访问 |
基于主键的访问 |
顺序扫描返回所有行 |
完全索引扫描返回所有行,并按主键顺序排列 |
普通表可以存储在簇中 |
索引组织表不能存储在簇中 |
支持分发、复制和分区 |
不支持分发、复制和分区 |