paip.索引的种类以及实现attilax 总结
paip.索引的种类以及实现attilax 总结
作者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 总结的更多相关文章
- Atitit.数据索引 的种类以及原理实现机制 索引常用的存储结构
Atitit.数据索引 的种类以及原理实现机制 索引常用的存储结构 1. 索引的分类1 1.1. 按照存储结构划分btree,hash,bitmap,fulltext1 1.2. 索引的类型 按查找 ...
- Atitit.数据索引 的种类以及原理实现机制 索引常用的存储结构
Atitit.数据索引 的种类以及原理实现机制 索引常用的存储结构 1. 索引的分类1 1.1. 索引的类型 按查找方式分,两种,分块索引 vs编号索引1 1.2. 按索引与数据的查找顺序可分为 正 ...
- paip.索引优化---sql distict—order by 法
paip.索引优化---sql distict—order by 法 作者Attilax , EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog ...
- MongoDB索引的种类与使用
一:索引的种类 1:_id索引:是绝大多数集合默认建立的索引,对于每个插入的数据,MongoDB都会自动生成一条唯一的_id字段2:单键索引: 1.单键索引是最普通的索引 2.与_id索引不同,单键索 ...
- Oracle索引梳理系列(二)- Oracle索引种类及B树索引
版权声明:本文发布于http://www.cnblogs.com/yumiko/,版权由Yumiko_sunny所有,欢迎转载.转载时,请在文章明显位置注明原文链接.若在未经作者同意的情况下,将本文内 ...
- paip.hadoop的应用研究总结
paip.hadoop的应用研究总结 作者Attilax , EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.csdn.net/attil ...
- Atitit 最近资料文章列表r9 r8 月份 attilax总结
Atitit 最近资料文章列表r9 r8 月份 attilax总结 atitit tag标签标示规范 attilax总结 v2 r922.docx 2017-09-28 02:04 阅读(27) ...
- paip.mysql 性能测试by mysqlslap
paip.mysql 性能测试by mysqlslap 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog. ...
- sphinx索引文件进一步说明——最好是结合lucene一起看,直觉告诉我二者本质无异
摘自:http://blog.csdn.net/cangyingzhijia/article/details/8592441 Sphinx使用的文件包括 "sph", " ...
随机推荐
- IOS遇到的问题总结
1.NSString *path = [[NSBundle mainBundle] pathForResource:@"desc" ofType @"plist" ...
- VC操作MPP文件
1.背景简介 因需要对Office系列进行程序操作,特需要使用COM编程. Microsoft Project生成进度计划,office家族软件,文件后缀为.mpp. 具体信息见维基百科http:// ...
- 微信小程序-配置解答
微信小程序启动页面: Pages: index / logs 有 index和logs的页面,每个页面中都有独立的js逻辑,wxml负责页面内容,wxss负责样式. utils app.js app ...
- 1z0-052 q209_2
2: View the Exhibit to examine the output produced by the following query at three different times s ...
- 解决"libc.so.6: version `GLIBC_2.14' not found",系统的glibc版本太低 {强行安装!!}
原创,转载请注明出处,谢谢!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 首先查看系统glibc支持的版本: strings /lib64/libc.so.6 |grep G ...
- eclipse 如何对maven项目进行打包?
eclipse 如何对maven项目进行打包? CreateTime--2018年4月19日22:02:50 Author:Marydon 1.方式一:使用eclipse中的maven插件(命令) ...
- 拯救者14ISK添加ssd6记录
说起为何,我要安装ssd,拯救者14isk配置也不低,我加了4Gddr4的内存,目前8G内存ddr4/2G独显ddr5显卡GT960/i5-6300处理器.每次开机响应慢,还会出现磁盘100%,很受不 ...
- ListView中Button事件
为了解决ListView中Item里的Button独立事件响应,能够採用下面方法: 在BaseAdapter的getview里加入加粗代码: <span style="font-siz ...
- Coding.net+Myeclipse 2014 Git配置
安装Git,然后 $ssh-keygen -t rsa -b 4096 -C "your_email@example.com" # Creates a new ssh key, u ...
- JavaScript中的继承与原型链
先看一个例子 function User(){} var u1 = new User(); console.log(u1.prototype);// undefined 使用对象实例无法访问到prot ...