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

系统 1578 0

函数索引

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

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


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论