Chinaunix首页 | 论坛 | 博客
  • 博客访问: 86226
  • 博文数量: 31
  • 博客积分: 2010
  • 博客等级: 大尉
  • 技术积分: 370
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-26 13:33
文章分类

全部博文(31)

文章存档

2009年(5)

2008年(26)

我的朋友

分类: Oracle

2008-09-08 10:06:23

索引:提供了一种快速检索表中数据的机制

l         与表关联的可选结构

l         加快SQL语句的执行

l         减少磁盘I/O

l         CREATE INDEX 语句用于创建索引

l         在逻辑上和物理上独立于表中的数据

l         Oracle 自动维护索引

 

索引分类

1>    唯一索引

l         确保在定义索引的列中没有重复的值

l         Oracle自动为主键和唯一键列创建唯一索引

l         Create unique index 语句用于创建唯一索引

 

 

2>    组合索引

l         在表的多个列上创建的索引,也称为“连接索引”

l         组合索引中的列可以按任意顺序排列

l         对于在where子句中包含多个列的查询,可以提高数据访问速度

 

3>    反向键索引 (不常用)

l         反转索引列中的每一个字节

l         将数据插入操作分布在整个索引上

l         在创建索引时使用reverse关键字

 

4>    位图索引

 

5>    索引组织表(不常用)

l         表的数据存储在与其关联的索引中

l         对表数据的修改只会导致索引的更新

l         基于主键进行搜索

l         Create table 命令与organization index 子句一起用于创建索引组织表

 

普通表与索引组织表的对比

普通表

索引编排表

ROWID唯一地标识行

主键唯一地标识行

隐式的ROWID

没有隐式的ROWID

基于ROWID的访问

基于主键的访问

顺序扫描返回所有行

完全索引扫描返回所有行,并按主键顺序排列

普通表可以存储在簇中

索引组织表不能存储在簇中

支持分发、复制和分区

不支持分发、复制和分区

 

阅读(666) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~