Chinaunix首页 | 论坛 | 博客
  • 博客访问: 408830
  • 博文数量: 119
  • 博客积分: 1470
  • 博客等级: 上尉
  • 技术积分: 1258
  • 用 户 组: 普通用户
  • 注册时间: 2006-02-24 13:50
文章分类

全部博文(119)

文章存档

2018年(6)

2017年(11)

2016年(4)

2013年(8)

2012年(1)

2011年(2)

2010年(4)

2009年(37)

2008年(16)

2006年(30)

我的朋友

分类: Oracle

2008-10-20 17:37:04

各种索引的创建方法

 

1*Tree索引。

Create index indexname on tablename(columnname[columnname...])

 

2)反向索引。

Create index indexname on tablename(columnname[columnname...]) reverse

 

3)降序索引。

Create index indexname on tablename(columnname DESC[columnname...])

 

4)位图索引。

Create BITMAP index indexname on tablename(columnname[columnname...])

 

5)函数索引。

Create index indexname on tablename(functionname(columnname))

 

注意:创建索引后分析要索引才能起作用。

analyze index indexname compute statistics;

 

2 各种索引使用场合及建议

 

1B*Tree索引。

常规索引,多用于oltp系统,快速定位行,应建立于高cardinality列(即列的唯一值除以行数为一个很大的值,存在很少的相同值)。

 

2)反向索引。

B*Tree的衍生产物,应用于特殊场合,在ops环境加序列增加的列上建立,不适合做区域扫描。

 

3)降序索引。

B*Tree的衍生产物,应用于有降序排列的搜索语句中,索引中储存了降序排列的索引码,提供了快速的降序搜索。

 

4)位图索引。

位图方式管理的索引,适用于OLAP(在线分析)和DSS(决策处理)系统,应建立于低cardinality列,适合集中读取,不适合插入和修改,提供比B*Tree索引更节省的空间。

 

5)函数索引。

B*Tree的衍生产物,应用于查询语句条件列上包含函数的情况,索引中储存了经过函数计算的索引码值。可以在不修改应用程序的基础上能提高查询效率。

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