【第21期】观点:人工智能到底用 GPU?还是用 FPGA?

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 反向索引

反向索引就是将正常的键值头尾调换后再进行存储,比如原值是“1234”,将会以“4321”形式进行存储,这样做可以高效地打散正常的索引键值在索引叶块中的分布位置。 1. 反向索引应用场合1)发现索引叶块成为热点块时使用通常,使用数据时(常见于批量插入操作)都比较集中在一个连续的数据范围内,那么在使用正常的索引时就很容易发生索引叶子块过热的现象,严重时将会导致系统性能下降。2)在RAC环境中使用当RAC环境中几个节点访问数据的特点是集中和密集,索引热点块发生的几率就会很高。如果系统对范围检索要求不是很高的情况下可以考虑使用反向索引技术来提高系统

反键索引/反向索引

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

数据库设计

数据库三范式简单理解 http://www.cnblogs.com/cgli/archive/2011/01/23/1942557.html 轻松理解数据库三范式 http://apps.hi.baidu.com/share/detail/18114288 数据库三范式经典实例解析 http://www.blogjava.net/hijackwust/archive/2007/10/21/154793.html Oracle 创建索引、重建索引、删除索引的语法 http://fish-bone.iteye.com/blog/976175 反向键索引的原理和用途

搜索引擎技术之反向索引设计(inverted index):

先解释一下什么叫反向索引:根据关键词反向得到该关键词的其它所有信息,比如该关键词所在的文件,在文件里出现的次数和行数等,这些信息就是用户查找该关键词时所要用的信息.^_^够通俗易懂吧,给点掌声先………...

反向索引之应用

Oracle会自动为表的主键列建立索引,这个默认的索引是普通的B-Tree索引。对于主键值是按顺序(递增或递减),如序列生产,加入的情况,默认的B-Tree索引并不理想。这是因为如果索引列的值具有严格顺序时,随着数据行的插入,索引树的层级增长很快,形成明显的歪树或者热点,同时搜索索引发生的I/O读写次数和索引树的层级数成正比,也就是说,一棵具有5个层级的B -Tree索引,在最终读取到索引数据时最多可能发生多达5次I/O操作。因而,减少索引的层级数是索引性能调整的一个重要方法。 索引列数据从序列中获取,其有序性无法规避,但在建立索引时,Oracle允许对索引列的值进行

mysql什么时候支持反向索引?

在我们使用limit对含有大量数据的表进行分页的时候,越往后翻页越缓慢 主要原因是,mysql会把数据结果生成后排序,然后进行分页 这会导致越往后翻页查询越慢,看了一眼其他数据库,可以在创建索引的时候...

oracle反向索引

我们知道Oracle会自动为表的主键列建立索引,这个默认的索引是普通的B-Tree索引。对于主键值是按顺序(递增或递减)加入的情况,默认的B- Tree索引并不理想。这是因为如果索引列的值具有严格顺序时,随着数据行的插入,索引树的层级增长很快。搜索索引发生的I/O读写次数和索引树的层级数成正比,也就是说,一棵具有5个层级的B-Tree索引,在最终读取到索引数据时最多可能发生多达5次I/O操作。因而,减少索引的层级数是索引性能调整的一个重要方法。 如果索引列的数据以严格的有序的方式插入,那么B-Tree索引树将变成一棵不对称的"歪树",如图 5所示: 图 5不对称的B-Tre

oracle 创建主键反向索引

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

反向索引(Inverted Index)

反向索引是一种索引结构,它存储了单词与单词自身在一个或多个文档中所在位置之间的映射。反向索引通常利用关联数组实现。它拥有两种表现形式:inverted file index,其表现形式为 {单词,单词所在文档的ID}full inverted index,其表现形式为{单词,(单词所在文档的ID,在具体文档中的位置)}具体实例,假设有三个文档:<li

反向索引

1. 反向索引应用场合1)发现索引叶块成为热点块时使用通常,使用数据时(常见于批量插入操作)都比较集中在一个连续的数据范围内,那么在使用正常的索引时就很容易发生索引叶子块过热的现象,严重 时将会导致系...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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