paip.索引的种类以及实现attilax 总结

1. 索引的类型 1

2. Btree索引(分块索引) 1

3. Hash 索引(编号索引) 1

4. 倒排索引 2

5. 对大型文本文件做索引 2

6. 索引文件的合并问题 2

作者Attilax  艾龙,  EMAIL:1466519819@qq.com 

来源:attilax的专栏

地址:http://blog.csdn.net/attilax

1. 索引的类型

按查找方式分,两种,一种是分块》分块类型。。

一种是不分块,编号顺序排列类型

2. Btree索引(分块索引)

B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点,,需要这样多次的io访问

常见的Btree索引:

书籍的分类索引,就是一种Btree索引..把每一大类分成若干小类,按你的分类详细程度一级一级分下去,在整理出来就行了...

字典的部首查字法

字典的笔画查字法

许多数据库默认的建立的索引也是B-Tree 索引

我们整理家庭物品时,按分类分箱装纳,这中索引也是属于Btree索引

3. Hash 索引(编号索引)

Hash 索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位

常见Hash 索引的实现:

字典的拼音索引,也是属于Hash 索引

四角号码查字法

书籍中的大事记表等应该是属于HASH索引。。

我们整理家庭物品时,将其编号存放,属于HASH索引。

数据库默认btree索引,也能建立Hash 索引

4. 倒排索引

全文索引,以及书籍中的人物名称索引都是倒排索引

5. 对大型文本文件做索引

倍以上的提升,可以大于30W行时再做索引。。

要是是多核cpu, 根据cpu数量,也能可以大幅度的提升性能..2个cpu核可以大概提升2倍,4个核4倍,以此类推..

根据文本的类型,以及特点,可以做Btree索引/HASH索引,有时候可能也需要做倒排索引

使用TREEMAP, HASHMAP等等结构 先扫描文件,然后序列化,保存为索引文件...

6. 索引文件的合并问题

当索引文件越来越大时候,就需要分布式存储在多个增量索引文件上..到时合并或者不合并.....

或者使用2进制方式增量存储..

paip.索引的种类以及实现attilax 总结的更多相关文章

  1. Atitit.数据索引 的种类以及原理实现机制 索引常用的存储结构

    Atitit.数据索引 的种类以及原理实现机制 索引常用的存储结构 1. 索引的分类1 1.1. 按照存储结构划分btree,hash,bitmap,fulltext1 1.2. 索引的类型  按查找 ...

  2. Atitit.数据索引 的种类以及原理实现机制 索引常用的存储结构

    Atitit.数据索引 的种类以及原理实现机制 索引常用的存储结构 1. 索引的分类1 1.1. 索引的类型  按查找方式分,两种,分块索引 vs编号索引1 1.2. 按索引与数据的查找顺序可分为 正 ...

  3. paip.索引优化---sql distict—order by 法

    paip.索引优化---sql distict—order by 法 作者Attilax ,  EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog ...

  4. MongoDB索引的种类与使用

    一:索引的种类 1:_id索引:是绝大多数集合默认建立的索引,对于每个插入的数据,MongoDB都会自动生成一条唯一的_id字段2:单键索引: 1.单键索引是最普通的索引 2.与_id索引不同,单键索 ...

  5. Oracle索引梳理系列(二)- Oracle索引种类及B树索引

    版权声明:本文发布于http://www.cnblogs.com/yumiko/,版权由Yumiko_sunny所有,欢迎转载.转载时,请在文章明显位置注明原文链接.若在未经作者同意的情况下,将本文内 ...

  6. paip.hadoop的应用研究总结

    paip.hadoop的应用研究总结 作者Attilax ,  EMAIL:1466519819@qq.com  来源:attilax的专栏 地址:http://blog.csdn.net/attil ...

  7. Atitit 最近资料文章列表r9 r8 月份 attilax总结

    Atitit 最近资料文章列表r9  r8 月份   attilax总结 atitit tag标签标示规范 attilax总结 v2 r922.docx 2017-09-28 02:04 阅读(27) ...

  8. paip.mysql 性能测试by mysqlslap

    paip.mysql 性能测试by mysqlslap   作者Attilax  艾龙,  EMAIL:1466519819@qq.com  来源:attilax的专栏 地址:http://blog. ...

  9. sphinx索引文件进一步说明——最好是结合lucene一起看,直觉告诉我二者本质无异

    摘自:http://blog.csdn.net/cangyingzhijia/article/details/8592441 Sphinx使用的文件包括 "sph", " ...

随机推荐

  1. shell命令xargs解析

    1.多行变成单行 -bash-3.2# cat test.txt a b c d e f g o p q -bash-3.2# cat test.txt |xargs a b c d e f g o  ...

  2. 火狐浏览器Firefox Firebug使用方法

    什么是Firebug 从事了数年的Web开发工作,越来越觉得现在对WEB开发有了更高的要求.要写出漂亮的HTML代码:要编写精致的CSS样式表展示每个页面模块:要调试javascript给页面增加一些 ...

  3. STL - 容器 - Map(二)

    把Map用作关联式数组 MapAdvanceTest.cpp #include <map> #include <string> #include <iostream> ...

  4. mac 终端 使用 solarized 主题设置语法高亮

    mac 终端 使用 solarized 主题设置语法高亮 先来看看 solarized 在 mac 终端上的效果图片 一:先下载 solarized 官网下载:https://github.com/a ...

  5. html5开放资料

    http://www.cnblogs.com/tim-li/archive/2012/08/06/2580252.html KineticJS教程(12) 摘要: KineticJS教程(12) 作者 ...

  6. 关于SimHash去重原理的理解(能力工场小马哥)

    阅读目录 1. SimHash与传统hash函数的区别 2. SimHash算法思想 3. SimHash流程实现 4. SimHash签名距离计算 5. SimHash存储和索引 6. SimHas ...

  7. osx下查看jar文件

    jar是java class的打包文件,我们能够将自己的项目打包为jar文件执行,也能够打包后当做第三方包查看,有时候我们须要查看一下一个jar文件里是否还有某个类以及对应的包,我们能够採用下面两种方 ...

  8. EXCEL 列与列怎么交换?

    选中A列数据,按先SHIFT键的同时按住鼠标左键,向右拖动鼠标,在拖动的过程中,会出现一条虚线,当拖动到B列的右边缘时,屏幕上会出现 C:C 的提示,这时送开SHIFT键及鼠标左键,就完成了A B两列 ...

  9. Debian GNU Linux服务列表的获取、服务的关闭/开启、服务在启动时是否自己主动执行的生效/失效

    /*********************************************************************  * Author  : Samson  * Date   ...

  10. JSON path

    https://github.com/itguang/gitbook-smile/blob/master/springboot-fastjson/fastjson%E4%B9%8BJSONPath%E ...