Stella981 Stella981
3年前
Lucene 源码分析之倒排索引(二)
本文以及后面几篇文章将讲解如何定位Lucene中的倒排索引。内容很多,唯有静下心才能跟着思路遨游。我们可以思考一下,哪个步骤与倒排索引有关,很容易想到检索文档一定是要查询倒排列表的,那么就从此处入手。检索文档通过调用IndexSearcher.search(Queryquery,intn)方法返回匹配的文档。publiccla
Wesley13 Wesley13
3年前
mysql千万级大数据SQL查询优化
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在where及orderby涉及的列上建立索引。2.应尽量避免在where子句中对字段进行null值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:selectidfromtwherenumisnull可以在num上设置默认值0,确保表中num列没有
Wesley13 Wesley13
3年前
MySQL索引底层:B+树详解
前言当我们发现SQL执行很慢的时候,自然而然想到的就是加索引。对于范围查询,索引的底层结构就是B树。今天我们一起来学习一下B树哈~公众号:「捡田螺的小男孩」树简介、树种类B树、B树简介B树插入B树查找B树删除B
Stella981 Stella981
3年前
IM消息ID技术专题(六):深度解密滴滴的高性能ID生成器(Tinyid)
1、引言在中大型IM系统中,聊天消息的唯一ID生成策略是个很重要的技术点。不夸张的说,聊天消息ID贯穿了整个聊天生命周期的几乎每一个算法、逻辑和过程,ID生成策略的好坏有可能直接决定系统在某些技术点上的设计难易度。有中小型IM场景下,消息ID可以简单处理,反正只要唯一就行,而中大型场景下,因为要考虑到分布式的性能、一致性等,所以要考虑的问题
Wesley13 Wesley13
3年前
MySQL中myisam和innodb的主键索引有什么区别?
MyISAM引擎使用BTree作为索引结构,叶节点的data域存放的是数据记录的地址。下图是MyISAM索引的原理图:!这里写图片描述(https://static.oschina.net/uploads/img/201704/13160646_jwHA.jpg)这里设表一共有三列,假设我们以Col1为主键,则上图是一个MyISAM表的主索
Wesley13 Wesley13
3年前
Java设计模式:Singleton(单例)模式
概念定义Singleton(单例)模式是指在程序运行期间,某些类只实例化一次,创建一个全局唯一对象。因此,单例类只能有一个实例,且必须自己创建自己的这个唯一实例,并对外提供访问该实例的方式。单例模式主要是为了避免创建多个实例造成的资源浪费,以及多个实例多次调用容易导致结果出现不一致等问题。例如,一个系统只能有一个窗口管理器或文件系统,一个程
Stella981 Stella981
3年前
Python设计模式
对于很多开发人员来说,单例模式算是比较简单常用、也是最早接触的设计模式了,仔细研究起来单例模式似乎又不像看起来那么简单。我们知道单例模式适用于提供全局唯一访问点,频繁需要创建及销毁对象等场合,的确方便了项目开发,但是单例模式本身也有一定的局限性,如果滥用则会给后续软件框架的扩展和维护带来隐患。单例模式的实现有很多种,应用场合也各有不同,但必须保证实例唯一
Wesley13 Wesley13
3年前
utf8编码
utf8编码关于编码问题:首先需要知道什么是编码为什么要编码,计算机只能存储一个字节一个字节的二进制信息,所以需要把人可读的这些文字用唯一的方式在计算机内部表示出来,但是表示的方法不唯一;例如英文字符就那么点所以一个字节也就是8个二进制位就能给所有的进行编码,最多能给256个符号编码;但是ASCII编码实际只使用了
Easter79 Easter79
3年前
TypeScript 之父:”开源是赢得 JavaScript 开发人员的唯一途径“
!(https://oscimg.oschina.net/oscnet/8df5a9e949fd469891feb541144b0bab.png"AndersHejlsberg")作者:LiamTung编译:王治治丨发布自:思否编辑部原文链接:https://www.zdnet.com/article/types