设为首页 加入收藏

TOP

oracle索引技术――天天笔记(2)
2014-11-24 02:31:01 来源: 作者: 【 】 浏览:2
Tags:oracle 索引 技术 天天 笔记
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
创建索引时,在插入索引前,反转索引列的值,这样插入的顺序键值就不会导致最右侧的索引块的争用, 数据库不会把新值存储到相同的“热”索引块,而是把他们分别存储到跨越大量块的新条目中,减少对繁忙块的争用。
主键的实际值是连续排列的,但是索引值却不是连续排列的。
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇oracle技术之自定义数组及应用 下一篇忘记Oracle数据库的密码

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: