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. 对大型文本文件做索引

有时候,需要快速寻找时候,需要对大型文本文件做索引,一般,来说, 普通PC机器上,单核cpu 2.8g, 当文件大于3W行的时候,使用JAVA,顺序扫描的时间就需要10s了,应该是需要做索引了...当然,要是使用C++,性能会有10倍以上的提升,可以大于30W行时再做索引。。

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

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

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

6. 索引文件的合并问题

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

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

paip.索引的种类以及实现attilax 总结相关推荐

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

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

  2. mysql索引的种类

    索引种类 普通索引: 仅加速查询 唯一索引:加速查询+列值唯一,不为NULL 主键索引:加速查询+列值唯一,一个表中只能有一个主键 组合索引:多个列值组合成一个索引,专门用于组合查询,速度大于索引合并 ...

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

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

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

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

  5. mysql 树形结构_再读MySQL索引-《高性能MySQL》索引手记

    最近工作中经常和MySQL打交道,当数据量小的时候,不同查询方式以及是否使用索引并无大碍,当数据量随着业务的成长急剧加速时,索引的重要性不言而喻. 本篇文章以<高性能MySQL>中的索引章 ...

  6. 助你进大厂,这些Mysql索引底层知识你是必须知道的。

    前言 上一篇总结了Mysql的锁机制,通过读者的反映和阅读量显示,总体还是不错的,感兴趣的可以阅读一下[大厂面试官必问的Mysql锁机制]. 写了那么多的Mysql文章,有读者问我是不是dba,工作真 ...

  7. paip.按键替换映射总结

    paip.按键替换映射总结 作者Attilax ,  EMAIL:1466519819@qq.com  来源:attilax的专栏 地址:http://blog.csdn.net/attilax 因为 ...

  8. sql server修改索引名称_【索引潜规则】覆盖索引、ICP、MRR详解

    点击上方蓝色字体,关注我们 上篇文章我们说了创建索引的方法,有聚簇索引.辅助索引.前缀索引.联合索引等,也说了如何利用索引的排序功能,接着本篇文章主要来说一说索引的几种优化策略,首先我们先说下回表的概 ...

  9. (转)HBase二级索引与Join

    二级索引与索引Join是Online业务系统要求存储引擎提供的基本特性.RDBMS支持得比较好,NOSQL阵营也在摸索着符合自身特点的最佳解决方案. 这篇文章会以HBase做为对象来探讨如何基于Hba ...

  10. Atitit.注册跟个登录功能的实现attilax总结obo

    Atitit.注册跟个登录功能的实现attilax总结obo 1. 注册模块 2 1.1. 基本注册功能(用户名方式) 2 1.2. 动态ajax监测用户名重复 2 1.3. 注册手机验证 2 1.4 ...

最新文章

  1. 创建模块化程序(二)
  2. DirectX和DirectShow介绍和区别
  3. ARM的流水线与PC值的关系
  4. .Net Micro Framework SDK 2.5 发布
  5. P2151 [SDOI2009]HH去散步
  6. 多媒体视频知识入门贴zt(二)
  7. dubbo服务提供与消费
  8. (139)FPGA面试题-FPGA设计中的速度和面积互换原则
  9. 一份招聘需求的分析 (转载)
  10. android7.0电话录音,芒果录音手机版-芒果通话录音app(电话通话录音软件)下载7.3.2官方安卓版-西西软件下载...
  11. 用友U8修改货位现存量
  12. Using insecure protocols with repositories(已解决)
  13. 浪潮之巅--苹果的魔力
  14. 关于python数字的一种下划线奇怪写法
  15. 【论文发表】认识SCI、EI、ISTP、IEEE等和算法论文
  16. “XXX程序包不存在”解决方法
  17. AXD 在win7 vista下 启动失败
  18. 佛罗里达大学计算机科学专业排名,2019年南佛罗里达大学计算机科学专业排名情况如何?...
  19. file上传代码 ios_iOS-实现文件上传下载
  20. 电商项目:拼团活动设计及表结构设计

热门文章

  1. 使用sed在文件中定位文本的方式
  2. oracle导入和导出遇到may be an original export dump file的问题
  3. PHP 多维数组转换一维数组
  4. MVC中关于JSON的处理
  5. (76) Clojure: Why would someone learn Clojure? - Quora
  6. 通过python和websocket构建实时通信系统[扩展saltstack监控]
  7. Appfuse实践(一)——配置安装 转自http://www.donews.net/skyhero/archive/2004/12/17/205662.aspx...
  8. Java-数据库连接池第一篇
  9. django 之模板层
  10. BZOJ4602: [Sdoi2016]齿轮(并查集 启发式合并)