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,说明已经转划为了正常的普通索引。

oracle 创建主键反向索引

前言:今天在学习oracle索引,看到chu

理解Oracle反向索引

㈠ 定义                      建立一个反向索引将把每个列的键值(each column key value)按字节反向过来,对于组合键,列的顺序被保留,但每个列的字节都作了反...

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

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

Hadoop下进行反向索引(Inverted Index)操作

参考资料: 代码参考1:http://www.pudn.com/downloads212/sourcecode/unix_linux/detail999273.html 理论参考2:http://...

Hadoop下进行反向索引(Inverted Index)操作

今天上网无意中看到了这篇文章,里面的效果不错,但是代码自己还没有验证过。想先留下来。这篇为转载,等自己调试代码通过后再发表个原创版的!   原版地址:http://blog.csdn.net/xw...
  • xhyzfl
  • xhyzfl
  • 2011年09月08日 15:56
  • 1175

【转】Lucene工作原理——反向索引

【转】Lucene工作原理——反向索引 - 佛光剑 - 博客园 秋石车神 随笔 - 59, 文章 - 0, 评论 - 1, 引用 - 0 【转】L...

Oracle中的反向索引

反向索引就是将正常的键值头尾调换后再进行存储,比如原值是“1234”,将会以“4321”形式进行存储,这样做可以高效地打散正常的索引键值在索引叶块中的分布 位置。 1. 反向索引应用场合 ...

MapReduce Design Patterns(3. 反向索引、计数器)(四)

http://blog.csdn.net/cuirong1986/article/details/8456923 Inverted Index Summarizations Pattern De...

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

㈠ 定义                    建立一个反向索引将把每个列的键值(each column key value)按字节反向过来,对于组合键,列的顺序被保留,但每个列的字节都作了反向   ...

Oracle-测试创建反向索引及表分区和索引分区

-- 测试创建反向索引及表分区和索引分区,并把索引指定在不同的表空间上 -- 用户有了unlimited TABLESPACE权限,就可以在任何表空间可以创建对象 -- 创建主键上的反向索引,要注...
  • lzhat
  • lzhat
  • 2017年03月01日 17:05
  • 142
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:1反键索引/反向索引
举报原因:
原因补充:

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