Oracle索引

索引分类

  1. B树索引:
    通过在索引中保存排序的索引列的值以及记录的物理地址ROWID来实现快速查找
  2. 位图索引
    索引列的值基数很低时(比如表示性别的字段,只有男和女,这就是基数很低),创建B树索引显然不是明智之选,创建位图索引想必是你最好的选择。
create bitmap index index_name on table(column) tablespace users;
  1. 反向键索引
    如果我们要为主键添加索引时,考虑到主键如果是递增的话,B树索引也是不合适的,会使得树的两边不公平,这时采用反向键索引就可以很轻松地解决问题。
create index index_name on table(column) reverse tablespace users;
alter index index_name rebuild reverse;
  1. 基于函数的索引
    如果我们需要在where中用函数,那么创建基于函数的索引是很明智的选择。
create index index_name on table(lower(column)) tablespace users;

索引注意点

  • 索引不是越多越好,索引会影响DML操作速度,原因很简单,每个DML语句都要增加更新到索引这个动作。
  • 外键应该加索引,提高多表连接性能,原因也很简单,多表连接的实质是一个where语句。
  • 大表才需要建索引,避免在小表建索引。
  • 指定索引块空间PCTFREE,可以为未来的insert操作做准备。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值