数据结构
文章平均质量分 88
最爱彩虹糖
学习中
展开
-
从一次主键查询乱序来看Mysql查询优化原理
前言 Mysql作为目前相对流行的关系型数据库,以各种演化形式存在于目前的it公司中,以B+树为基础的存储结构能够带来很高的查询效率,但是也随着单表存储行数递增以及存储空间增大,受制于B+树层数以及缓存页空间,查询效率会急剧下降。因此数据归档便是一个很正常技术需求,归档一般是需要全表扫描来对数据进行筛选,今天想记录的场景便是在进行数据归档时的一些sql查询主键乱序问题。 正文 背景 下面是我们的g原创 2021-12-26 16:35:32 · 1072 阅读 · 1 评论 -
基于zset与bloom filter的排行榜与点赞方案设计
前言 最近有做较多关于排行榜需求相关迭代,在这期间关于技术方案也进行了很多的思考和调研,到底采用哪种方式更贴合业务,在不过度设计的基础上多多考虑扩展性和稳定性,最终选型中有Mysql、Redis zset、bloom filter等技术,因此在这里做个总结与分享。 排行榜和feed流中个人数据进行点赞的需求很常见,如下图所示为一个排行榜的展示大概展示内容,包括用户基本信息、排行、排行所依赖的数据、原创 2021-01-02 20:36:13 · 807 阅读 · 0 评论 -
Bloom Filter概念和原理
转载自https://blog.csdn.net/jiaomeng/article/details/1495500 Bloom Filter是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否属于这个集合。Bloom Filter的这种高效是有一定代价的:在判断一个元素是否属于某个集合时,有可能会把不属于这个集合的元素误认为属于这个集合(false pos...转载 2018-04-18 20:35:52 · 1527 阅读 · 0 评论 -
关系型数据库中联合主键和唯一索引的应用
一、前言 在项目开发中往往会遇到两个实体对象之间存在多对多关系的情况,此时我们会维护两个实体对象表,一个关系表,用来存放两者之间的关系。比较典型的案例是学生表、课程表、学生课程关系表。在这种关系表中,我们可以确定的是,学生和课程关系虽然是多对多,但一个确定的学生id和一个确定的课程id在关系表中只能存在一个。如下图所示:,业务逻辑就是一个学生只能有当前课程的一个分数。 t_stu...原创 2018-12-13 13:53:53 · 4285 阅读 · 0 评论 -
单例及Java框架中涉及到的单例
前言 单例模式是设计模式中最简单也是最常用的设计模式之一,单例顾名思义就是系统中只有唯一实例,这个唯一实例的获取方式就是通过一个方法的调用获得,而不是通过正常流程中的new实例化。多年前在学习设计模式时就了解到单例有多种实现方式,今天就来总结一下,并且探索一下在当前java生态框架中的应用场景。 正文 ...原创 2019-08-25 21:47:13 · 533 阅读 · 0 评论