Oracle索引分析与比较(二)—— 各种索引的创建方法、使用场合及建议

转自:http://tech.it168.com/oldarticle/2006-08-18/200608181553820_1.shtml IT168技术开发

 

 

各种索引的创建方法

    (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;

 

各种索引使用场合及建议

    (1)B*Tree索引。

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

    (2)反向索引。


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


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


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


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

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值