浅谈oracle索引

oracle索引有很多种 像 什么 B-tree   位图  全文   复合   反向索引 等等,可以大家都知道这些索引是用在什么场合上的嘛?
根据以往的项目经验罗列如下
五大索引创建语句和应用场合 (紧急备用)
0.B tree索引
create index 索引名 on 表名(列名);
场合:这是我们最长用的索引,一般创建在重复率较低字段中,如果是主键的话那是最好不过了,可以非常快速的定位rowid记录
1.位图索引 bitmap index create bitmap index 索引名 on 表名(列名);
场合:列的基数很少情况下,重复值很多,数据不会被经常更新的列建位图索引
例子:男/女   国家ID     适用于OLAP数据仓库批量检索数据
缺点:锁代价极高,修改一条位图索引段会锁定整个位图段
2.反向索引reverse index create index 索引名 on 表名(列名) reverse;
场合:列值始终增1,不是随机数,导致索引二叉树倾斜,使用反向索引来平衡二叉树
缺点:范围查找效率较低(因顺序打散),等值查找效率较高
3.函数索引  function index
create index 索引名 on 表名(函数(列名));
场合:当where子句中使用函数的列上创建的索引,先生成函数值在索引
4.复合压缩索引 compound compress index
create index 索引名 on 表名(列名) compress  1;
场合:在同时查询多列时要建复合压缩索引,把重复值较多的列放在最前面进行压缩,重复值越多压缩效果越好
例子:开始时间和结束时间做一个复合索引  where  x  and  y
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值