Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1786248
  • 博文数量: 1647
  • 博客积分: 80000
  • 博客等级: 元帅
  • 技术积分: 9980
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-13 15:15
文章分类

全部博文(1647)

文章存档

2011年(1)

2008年(1646)

我的朋友

分类:

2008-10-28 17:59:55

1 各种索引的创建方法

 

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

【责编:Amy】

--------------------next---------------------

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