Oracle 的 索 引 的 创 建 :索引的创建方法,使用场合及建议

时间:2021-10-25 21:51:21

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 各种索引使用场合及建议
 
 
 
(1)B*Tree索引。
 
常规索引,多用于oltp系统,快速定位行,应建立于高cardinality列(即列的唯一值除以行数为一个很大的值,存在很少的相同值)。
 
 
 
(2)反向索引。
 
B*Tree的衍生产物,应用于特殊场合,在ops环境加序列增加的列上建立,不适合做区域扫描。
 
 
 
(3)降序索引。
 
B*Tree的衍生产物,应用于有降序排列的搜索语句中,索引中储存了降序排列的索引码,提供了快速的降序搜索。
 
 
 
(4)位图索引。
 
位图方式管理的索引,适用于OLAP(在线分析)和DSS(决策处理)系统,应建立于低cardinality列,适合集中读取,不适合插入和修改,提供比B*Tree索引更节省的空间。
 
 
 
(5)函数索引。
 
B*Tree的衍生产物,应用于查询语句条件列上包含函数的情况,索引中储存了经过函数计算的索引码值。可以在不修改应用程序的基础上能提高查询效率。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/Rebirth_moring/archive/2007/08/13/1740855.aspx