1反键索引/反向索引

转载 2013年12月04日 17:09:59

反键索引又叫反向索引,不是用来加速数据访问的,而是为了均衡IO,解决热块而设计的
 比如数据这样:
  1000001 1000002 1000005 1000006
 在普通索引中会出现在一个叶子上,如果部门数据需求极大,也就是热块,多个需求之间就会有请求竞争。
 为了避开竞争 建反键索引 它会将数据逆转
 1000001   2000001   5000001   6000001
 这样索引键就不可能分布在一个叶子上.实现了IO分离,每个数据在索引中搜寻路径也就不一致了,解决了热点块竞争问题。

建立反键索引:
SQL> alter index i5 rebuild reverse;

Index altered.

 

查元数据:SQL> select dbms_metadata.get_ddl('INDEX','I5') from dual;

DBMS_METADATA.GET_DDL('INDEX','I5')
--------------------------------------------------------------------------------

  CREATE INDEX "SCOTT"."I5" ON "SCOTT"."T1" (TRIM("ENAME"))
 REVERSE
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATI
STICS
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAX
EXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROU
PS 1 BUFFER_POOL DEFAULT)
  TABLESPACE "USERS"

 

反键索引转化为正常索引:

SQL> alter index i5 rebuild noreverse;

Index altered.

查元数据:SQL> select dbms_metadata.get_ddl('INDEX','I5') from dual;

DBMS_METADATA.GET_DDL('INDEX','I5')
--------------------------------------------------------------------------------

  CREATE INDEX "SCOTT"."I5" ON "SCOTT"."T1" (TRIM("ENAME"))

  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
  STORAGE(INITIAL 65536 NEXT 1048576 MINE
XTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUF
FER_POOL DEFAULT)
  TABLESPACE "USERS"
已经没有REVERSE,说明已经转划为了正常的普通索引。

反键索引/反向索引

反键索引又叫反向索引,不是用来加速数据访问的,而是为了均衡IO,解决热块而设计的  比如数据这样:   1000001 1000002 1000005 1000006  在普通索引中会出现在一个...
  • qq_17344293
  • qq_17344293
  • 2017年02月27日 16:24
  • 98

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

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

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

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

关于正向索引与反向索引

这一节我们来看看搜索引擎中最重要的几个数据结构。 前面我们说过索引包含正向索引和反向索引两部分,首先我们看看正向索引的结构。 正向索引用来存储文档的各种属性,从逻辑...
  • Virtual_Func
  • Virtual_Func
  • 2015年10月29日 21:10
  • 3875

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

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

oracle 创建主键反向索引

前言:今天在学习oracle索引,看到chu
  • ch7543658
  • ch7543658
  • 2014年11月02日 17:27
  • 1686

CM开发日志 - 搜索引擎(四) - Lucene 反向索引

Solr 使用了 Lucene 的反响索引为【快速搜索】提供动力。虽然我们不会深入介绍太多 Luncene 内部的数据结构,但是了解反向索引的【基本结构】还是非常有必要的。 回想一下前面用过的搜索书...
  • alli0968
  • alli0968
  • 2015年03月11日 12:33
  • 869

反向建索引

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

lucene 倒排索引、反向索引概念明晰

lucene中,一直在纠结什么叫倒排索引,为什么叫倒排索引,找了n个博客没有对该名词很透彻的解析,重于在知乎上中找到需要的答案: ------------------------------...
  • yygg329405
  • yygg329405
  • 2015年04月21日 21:27
  • 768

搜索引擎系列1:什么是正向索引?什么是倒排索引?

什么是正向索引、什么是倒排索引? 正向索引(forward index),反向索引(inverted index)更熟悉的名字是倒排索引。 在搜索引擎中每个文件都对应一个文件ID,文件内容被表示为...
  • sangyongjia
  • sangyongjia
  • 2015年07月10日 11:05
  • 3157
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:1反键索引/反向索引
举报原因:
原因补充:

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