Chinaunix首页 | 论坛 | 博客
  • 博客访问: 374412
  • 博文数量: 113
  • 博客积分: 3035
  • 博客等级: 中校
  • 技术积分: 1430
  • 用 户 组: 普通用户
  • 注册时间: 2006-11-01 16:32
文章分类
文章存档

2011年(42)

2010年(70)

2009年(1)

我的朋友

分类: Oracle

2010-11-01 15:26:51

reverse index
例子:create index idx_reverse on test_reverse(x) reverse;
形式:讲b树索引反转存放,例如1234存为4321
目的:为了可以分散key,避免热点块,尤其是并行系统热点块需要pinging到硬盘的情况
用途:主要用于序列增加的列值
参考:tom expert on to on

The numbers will end up 'far away' from each other. This reduces the number of instances going after the same block (the leftmost block) and reduces the amount of pinging going on. One of the drawbacks to a reverse key index is that you cannot utilize it in all of the cases where a regular index can be applied. For example, in answering the following predicate, a reverse key index on x would not be useful:

where x > 5

The data in the index is not sorted before it is stored, hence the range scan will not work.


问题:使用反转索引的情况就是为了避免这种序列的列可以分散存放,对于序列式的列最常用的应该就是where x>5或者<5这样的句子,可是反转偏偏对这种查询不起作用,那我什么时候需要反转索引?
阅读(1402) | 评论(1) | 转发(0) |
0

上一篇:rman多重归档的困惑

下一篇:函数索引

给主人留下些什么吧!~~

chinaunix网友2010-11-01 17:50:25

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com