正向索引、反向索引、B*Tree索引
来源:互联网 发布:红色警戒找矿软件 编辑:程序博客网 时间:2024/05/01 07:56
索引就是为了更快的找出需要的信息。 一般都要进行排序。
正向索引----开发出来用来存储每个文档的单词的列表。实际上,时间、内存、处理器等等资源的限制,技术上正向索引是不能实现的。既:存储一个文档中有那些单词。有多少单词就有多少列。然后对每一列进行某种排序。
反向索引----其中每条记录,记录的是一个单词都在那些文档中出现。然后对这些记录进行排序。http://zh.wikipedia.org/wiki/%E5%80%92%E6%8E%92%E7%B4%A2%E5%BC%95
B*Tree索引----就是B*Tree排序。
----------------------------------------------------------------------------------------------------
具体:B*Tree索引
B*Tree索引是最常见的索引结构,默认建立的索引就是这种类型的索引。B*Tree索引在检索高基数数据列(高基数数据列是指该列有很多不同的值)时提供了最好的性能。当取出的行数占总行数比例较小时B-Tree索引比全表检索提供了更有效的方法。但当检查的范围超过表的10%时就不能提高取回数据的性能。B-Tree索引是基于二叉树的,由分支块(branch block)和叶块(leafblock)组成。在树结构中,位于最底层底块被称为叶块,包含每个被索引列的值和行所对应的rowid。在叶节点的上面是分支块,用来导航结构,包含了索引列(关键字)范围和另一索引块的地址,如图26-1所示。
假设我们要找索引中值为80的行,从索引树的最上层入口开始,定位到大于等于50,然后往左找,找到第2个分支块,定位为75-100,最后再定位到叶块上,找到80所对应的rowid,然后根据rowid去读取数据块获取数据。如果查询条件是范围选择的,比如where column>20 and column<80,那么会先定位到第一个包含20的叶块,然后横向查找其他的叶块,直到找到包含80的块为止,不用每次都从入口进去再重新定位。
------------------------------------------------------------------------------------------------------
- 正向索引、反向索引、B*Tree索引
- ORACLE索引的分类: B*Tree索引与反向索引
- TSE从正向索引到反向索引
- 关于正向索引与反向索引
- 关于正向索引与反向索引
- 数据库索引-B-Tree索引
- B-Tree 索引
- B-Tree索引
- Mysql B-Tree 索引
- B-Tree索引[摘]
- mysql b-tree索引
- 重建b-tree索引
- b-tree索引
- B-Tree索引
- 索引 B-TREE
- b-Tree & bitmap 索引
- B-Tree索引
- B-TREE索引
- Linux内核之—内核链表二
- PP-PP和其他模块的集成
- Developer Express 中的 WPF 资源总结
- 开题
- InstallShield 2009制作集成.NET Framework 2.0 Service Pack 2的安装包
- 正向索引、反向索引、B*Tree索引
- csharp [Guid]
- 五一放假
- Left join , Right Join, Inner Join 用法
- kerberos原理
- FileReader与FileWriter使用一例
- 2007年10月2日
- Social Media Marketing: An Hour a Day
- Photoshop CS4 For Dummies