oracle索引技术——天天笔记(2)

函数索引

SELECT *

  FROM DEMOT

 WHERE F7 = 'F';

SELECT *

  FROM DEMOT

 WHERE LOWER (F7) = 'f';

F7上本来是有位图索引的,但是使用了LOWER函数后,就进行了全表扫面。

下面我们来创建F7列上的函数索引LOWER

CREATE INDEX FUN_INDEX

   ON DEMOT (LOWER (F7));               5 seconds

再看执行计划,发生了变化,使用了索引扫描。

聚合函数本身在oracle就创建了索引。

复合索引/组合索引

一个问题:创建索引时,如何安排列的顺序呢?

建议将最频繁访问的列放在索引中最靠前的位置;避免使用低基数列作为符合索引的前导列。

只有当应用程序的WHERE子句中不同的键一起频繁出现,并且目前正在使用“与”操作组合这些列时,才建立符合索引。

 

反向键索引

CREATE INDEX REV_INDEX

   ON DEMOT (F2)

   REVERSE;                              7 seconds

创建索引时,在插入索引前,反转索引列的值,这样插入的顺序键值就不会导致最右侧的索引块的争用,数据库不会把新值存储到相同的“热”索引块,而是把他们分别存储到跨越大量块的新条目中,减少对繁忙块的争用。

主键的实际值是连续排列的,但是索引值却不是连续排列的。

 

分区索引

请先了解分区相关知识http://blog.csdn.net/chiweitree/article/details/8111953


个人链接:
--------------------------------
JavaMail实现(JAVA <wbr><wbr><wbr>SWING) 新浪微博:http://weibo.com/cwtree

           JavaMail实现(JAVA <wbr><wbr><wbr>SWING) 人人首页:www.renren.com/treelovexiaobei

           JavaMail实现(JAVA <wbr><wbr><wbr>SWING) 优酷空间: http://i.youku.com/cwtree

              JavaMail实现(JAVA <wbr><wbr><wbr>SWING) 科大首页:http://home.ustc.edu.cn/~cwtree/
--------------------------------

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值