反向键索引

原创 2013年12月04日 16:06:56

反向键索引为了减少叶节点竞争,这些列主要是序列产生或者时间戳。

没插入一条记录,索引都会按照索引列值的大小进行排序,如果使用序列,导致插入集合的索引聚集在少量叶节点上,当大量用户修改或者读取它是,访问比较集中的几个块,导致块竞争。使用反向键索引,将插入集合的索引均匀分布在叶节点上。

select 123123,dump(123123),reverse('123123') from dual;


应用场景:

1、很少使用区间查询:where between   and ,和范围查询

2、求索引列的max min值

3、有大量插入或者更新操作时。

创建反向键索引

create table t_reverse as select rownum id,t.* from all_objects t ;
alter table t_reverse add constraint const_reverse_pk primary key(id) 
using index (create unique index const_reverse_idx on t_reverse(id) reverse );
创建不同索引
create table t_unreverse as select rownum id,t.* from all_objects t ;
alter table t_unreverse add constraint const_unreverse_pk primary key(id) 
using index (create unique index const_unreverse_idx on t_unreverse(id) );


全表扫描


索引范围扫描


反向键索引有助于缓解缓冲区忙等待问题,提高吞吐量


oracle 每日一题-反向键索引

原始出处: http://www.plsqlchallenge.com/ 作者:ChrisSaxon 运行环境:SQLPLUS, SERVEROUTPUT已打开 你的应用在这张表中...
  • zhq200902
  • zhq200902
  • 2017年02月16日 14:04
  • 503

反向键索引+什么是反向键索引+反向键索引原理+创建反向键索引

反向键索引 1反向键索引是特殊的B数索引 2适用于在表中严格排序的列上创建反向键索引 3查询时只要像常规方式一样查询数据,不需要关心反向键处理,因为oracle会自动完成该处理。什么是反向键索引...
  • zhou920786312
  • zhou920786312
  • 2017年05月28日 11:41
  • 459

反向建索引

今天是2014-01-20,本来打算将方向键索引和其他索引混为其他索引日志中的,但是还是感觉这部分内容太重要了。在此记录一下方向键索引笔记。  什么是方向键索引?  方向键索引也是B树索引的特例索引,...
  • xiaohai20102010
  • xiaohai20102010
  • 2014年01月20日 21:54
  • 1101

oracle 反向键索引的原理和用途(减少索引热点块)!

我们知道Oracle会自动为表的主键列建立索引,这个默认的索引是普通的B-Tree索引。对于主键值是按顺序(递增或递减)加入的情况,默认的B-Tree索引并不理想。这是因为如果索引列的值具有严格顺序时...
  • zq9017197
  • zq9017197
  • 2012年03月05日 16:52
  • 8716

深入理解Oracle索引(5):反向索引的定义、缺点和适用场景

㈠ 定义                    建立一个反向索引将把每个列的键值(each column key value)按字节反向过来,对于组合键,列的顺序被保留,但每个列的字节都作了反向   ...
  • linwaterbin
  • linwaterbin
  • 2013年02月24日 19:13
  • 7203

反向键索引研究

反向键索引(Reverse Key Index)也是一种B树索引,但是它与一般的B树索引相比又有一个很奇特的地方。反向键索引将索引键值的每一个字节做一个翻转变换,举一个例子:数字123456在反向键索...
  • suner86
  • suner86
  • 2013年07月25日 20:00
  • 531

算法:键索引计数法

一、思想  适用于小整数键的简单排序方法;假设数组a[]中的每个元素都保存了一个名字和一个组号,其中组号在0到R-1之间,以组号为键进行分组排序;    二、步骤  频率统计:...
  • p106786860
  • p106786860
  • 2014年01月12日 09:36
  • 2432

REVERSE关键字之REVERSE索引

昨天说到REVERSE关键字可以指REVERSE函数和REVERSE索引,简单介绍了下REVERSE函数的含义,今天简单整理下REVERSE索引。 REVERSE索引也是一种B树索引,但它物理上将...
  • bisal
  • bisal
  • 2013年09月26日 21:17
  • 2758

数据库 主键与索引键的区别

关系数据库依赖于主键,它是数据库物理模式的基石。主键在物理层面上只有两个用途: 惟一地标识一行。 作为一个可以被外键有效引用的对象。 索引是一种特殊的文件(InnoDB数据表上的索引是表空...
  • VMA_LMA
  • VMA_LMA
  • 2013年05月29日 14:03
  • 2109

键索引计数法

#include #include #include //键索引计数法 #define KEY_BASE 5 typedef struct { char *pString; //...
  • liujianfeng1984
  • liujianfeng1984
  • 2015年09月13日 18:20
  • 658
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:反向键索引
举报原因:
原因补充:

(最多只允许输入30个字)