自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

流浪的喵的博客

程序猿-共勉

  • 博客(103)
  • 问答 (1)
  • 收藏
  • 关注

原创 MSQL系列(十四) Mysql实战-SQL语句 left join inner join On和Where语句的区别

left join外连接的时候, on 连接条件过滤 和 where 条件过滤 区别就很大了, on 条件是 被驱动表 不匹配的也要展示, 用NULL来填充。如果 上面的例子 你还是没区分出来 on 和 where的 区别, 我们再来一个更加直观的, 一眼就看出来区别。至此,我们已经彻底分清楚了 on语句和where语句的区别, 这对于我们能够正确的处理业务,十分重要。前面我们讲解了Join的底层驱动表 选择原理,也知道了基本的内连接外连接两种SQL查询表连接方式。下面我们来实战SQL演练一下。

2023-11-07 22:07:00 3855 3

原创 MSQL系列(十三) Mysql实战-left/right/inner join 使用详解及索引优化

前面我们讲解了B+Tree的索引结构,也详细讲解下Join的底层驱动表 选择原理,今天我们来了解一下为什么会出现内连接外连接,两种连接方式,另外实战一下内连接和几种最常用的join语法。这个就会带来一个问题, 比如我的驱动表有100条记录,但是我的外连接 我不想让驱动表全部数据加入到结果集, 但是外连接的本质就是不匹配的就展示到结果集,这种情况该如何处理?要按照错误的这个说法,下面的语句执行完 左边不动,还是4条,1,2,3,4 但是明显不是。根据查询结果,我们可以很明确的知道。

2023-11-03 23:43:05 4229 1

原创 MSQL系列(十二) Mysql实战-为什么索引要建立在被驱动表上

前面我们讲解了B+Tree的索引结构,也详细讲解下 left Join的底层驱动表 选择原理,那么今天我们来实战一下 left join,right join,inner join 等sql命令,看看到底如何用以及如何建立索引和索引优化。上面我们见识到了 如果没有任何条件,我们连接的2个表会形成笛卡尔积,数量膨胀很大,所以 我们在连接的时候一般都需要过滤条件,我们加一些条件,看下效果。但是被驱动表 要匹配记录,需要不停的去查询,匹配,被动表访问了很多很多次。查询结果笛卡尔积, 25条结果。

2023-10-30 23:03:27 741

原创 MSQL系列(十一) Mysql实战-Inner Join算法底层原理及驱动表选择

至此, 我们彻底的了解了 inner join算法驱动表的选择, 也了解了 mysql如何选择驱动表, 如何选择小表, 这对于我们后期SQL分析, 索引优化很重要, 因为我们要在 被驱动表上 添加索引,优化提升我们的查询效率。执行结果, 的确 查询了testD的列, 字段多, 占用 join_buffer 空间大, 就是大表, 所以驱动表就选择 小表 testC, 符合预期。我们知道 join 是where自己选择的驱动表, 选择小表 作为驱动表, 如何判断小表?我们再建一个表用来测试,该表字段较多。

2023-10-30 21:24:41 831 2

原创 MSQL系列(十) Mysql实战-Join驱动表和被驱动表如何区分

在join连接查询中,驱动表在SQL语句执行的过程中总是先被读取。而被驱动表在SQL语句执行的过程中总是后被读取。在读取驱动表数据后,放入到join_buffer后,再去读取被驱动表中的数据来和驱动表中的数据进行匹配。如果匹配成功,就返回结果,否则该丢弃, 继续匹配下一条为什么要小表驱动大表?

2023-10-28 21:19:35 2758 4

原创 MSQL系列(九) Mysql实战-Join算法底层原理

不再是每条每条的取,而是每次都从驱动表每次取一批数据,放到内存中,然后对这一批数据进行匹配操作,当数据操作匹配完毕,就再次从驱动表中取一批数据放到内存中,再次比较,直到数据匹配完毕,完成查询,这种方式就是。在Mysql的查询过程中,我们都知道涉及多表查询,我们都会使用join来连接多个表进行查询,join的本质就是循环每个表进行匹配,join算法可以分为三种形式。至此,我们彻底的了解了 join算法的底层原理,也明确直到了三种方法的优劣,有助于我们再分析索引的时候,更快的定位出问题,进行索引优化。

2023-10-26 00:00:38 718

原创 MSQL系列(八) Mysql实战-SQL存储引擎

详细讲解下Mysql的存储引擎MyISAM和InnoDB及三层索引树的底层逻辑

2023-10-25 00:07:26 576

原创 MSQL系列(七) Mysql实战-SQL语句Join,exists,in的区别

Mysql in exists用法的对比及底层原理

2023-10-23 23:40:41 1766

原创 MSQL系列(六) Mysql实战-SQL语句优化

SQL语句优化

2023-10-20 00:07:20 786

原创 MSQL系列(五) Mysql实战-索引最左侧匹配原则分析及实战

Mysql最左侧匹配详解及Explain的key_ken参数详解

2023-10-19 00:06:12 2850

原创 MSQL系列(四) Mysql实战-索引分析Explain命令详解

Explain如何进行SQL分析及SQL优化 Explain详解

2023-10-17 23:32:38 619

原创 Elasticsearch实战(二十四)---ES数据建模一对多模型Nested结构

上一篇,我们介绍了 一对多模型,采用Object对象存储的巨大缺陷,本篇文章,我们给出解决办法 就是采用Nested结构来存储数据, 但是Nested查询和读写需要有特定的语法,也就是一定程度上增加了读写的复杂性,但是数据的查询结果是正确的,所以说Nested 才是我们一对多 推荐的一种设计模型。查询结果错误, 要查询 华为手机-发烧的数据,结果把 小米手机查询出来了,这是明显的错误。同样的结果,查询结果没有数据, 也是符合我们预期的,是正确的查询结果。查询结果 不是我们想要的, 是错误的。

2023-07-03 23:41:38 1697

原创 Elasticsearch实战(二十三)---ES数据建模与Mysql对比 一对多模型

Es数据建模 一对多模型建模分析

2023-07-02 23:32:51 1347

原创 MSQL系列(三) Mysql实战-索引最左侧匹配原则原理

前面我们讲解了索引的存储结构,我们知道了B+Tree的索引结构,索引的叶子节点是严格排序的,就像你看到的 底层叶子节点 15->18->20->30->49->50等等。了解了索引底层的存储结构,我们就能明白最左侧匹配原则的原理,这有利于我们在创建索引的时候,尽可能的优化索引,避免索引失效的场景。下面我们使用组合索引,来介绍以下 最左侧匹配原则 ,我们都知道索引的底层是一颗 B+ 树,那么联合索引呢?按照之前单节点的逻辑,只需要定位到左右子树,查找就行,我们来试一试, 查找第二个字母为 d的目标数据。

2023-05-25 23:27:26 2779

原创 MSQL系列(二) Mysql实战-索引结构B+Tree

对比上面的BTree和B+Tree,我们可以很清晰的看到, 56/56/77 这三个元素下面是没有data数据的,中间元素不保存数据,只用来做索引,所有的数据全都保存在叶子节点,B+Tree有以下特点。磁盘读取完本次需要的数据后,根据局部性原理,一个数据被使用,它的相邻数据可能马上也会被使用,程序需要的数据可能比较集中, 这样磁盘读取会按顺序再多读一部分数据到内存中,避免频繁的磁盘IO读取。B+Tree 叶子节点之间有双向指针,从左到右的索引值是从小到大的顺序排序,可以高效支持范围的查找。

2023-05-16 23:20:50 467

原创 MSQL系列(一) Mysql实战-索引结构 二叉树/平衡二叉树/红黑树/BTree/B+Tree

其实红黑树和上面的平衡二叉树类似, 红黑树是一种自平衡二叉搜索树。

2023-05-15 21:55:34 900

原创 JVM系列(十一) 垃圾收集器之 Concurrent Mark Sweep 并发标记清除

至此 我们讲解了CMS垃圾收集器的配置参数及如何使用CMS垃圾收集器,并且我们通过程序调试JVM参数,配置了CMS垃圾收集器,打印了GC日志,通过对GC日志的分析,能够很好的在实战中了解到底是哪里出了问题,便于JVM调优。上几篇文章我们讲解了单线程垃圾收集器 Serial/SerialOld ,多线程垃圾收集器 Parallel Scavenge/Old, 本文我们讲解下 Concurrent Mark Sweep 简称CMS垃圾收集器。设置JVM参数,启用CMS垃圾收集器。CMSTest测试类,测试。

2023-04-26 00:25:29 2037

原创 JVM系列(十) 垃圾收集器之 Parallel Scavenge/Old

多线程垃圾收集器 Parallel Scavenge/Old

2023-04-24 23:30:05 1182

原创 JVM系列(九) 垃圾收集器之 Serial / Serial Old

垃圾收集器Serial及Serial old

2023-04-22 23:58:59 699

原创 JVM系列(八) JVM 垃圾收集算法

JVM分代垃圾收集及击中垃圾回收算法

2023-04-19 10:18:43 374

原创 JVM系列(七) JVM 垃圾收集器

JVM垃圾收集器

2023-04-14 14:44:59 546

原创 JVM系列(七) JVM 垃圾收集器

我们知道JVM会回收垃圾,但是每种垃圾收集器的收集机制和收集的方法都不一样,今天我们讨论下几种垃圾回收机制。

2023-04-05 16:56:10 735

原创 JVM系列(六) JVM 对象终结方法finalize

今天我们着重讲下 finalize方法。

2023-04-05 16:54:15 680

原创 JVM系列(五) JVM引用-弱引用/虚引用关系

JVM引用关系之软引用

2023-03-26 11:27:20 496

原创 JVM系列(四) JVM引用-软引用关系

JVM引用关系之软引用

2023-03-26 11:19:59 424

原创 JVM系列(三) JVM垃圾判断及强引用关系

JVM垃圾判断及引用关系

2023-03-22 19:10:49 472

原创 JVM系列(二) Java 堆内存分析

Java 堆内存分析

2023-03-20 11:40:47 735

原创 JVM系列(一) Java虚拟内存模型及管理

JVM内存模型及内存管理

2023-03-13 22:33:12 547

原创 ES索引库的别名的强大功能

ES索引库别名的使用

2022-10-24 22:00:26 2637

原创 ES索引库的别名的使用--不停服实现索引库的重建切换

ES 索引库别名使用,如何不停服无缝切换所以库

2022-10-24 21:49:23 2068

原创 Elasticsearch实战(二十二)---ES数据建模与Mysql对比 一对一模型

我们如何把Mysql的模型合理的在ES中去实现, 分别分为1. 一对一 模型 2. 一对多 模型 3. 多对多 模型

2022-10-15 22:52:17 1333

原创 Elasticsearch实战(二十一)---ES相关度分数评分优化及FunctionScore 自定义相关度分数算法

ES Function score 自定义相关度分数算法的 实现逻辑根据自己的业务场景去定制自定义相关度分数算法

2022-08-13 18:26:38 2421

原创 Elasticsearch实战(二十)---ES相关度分数评分算法分析及相关度分数优化

ES相关度分数评分算法分析, ES 实现相关度分析底层原理 使用 boolean模型,TFIDF,VSM空间向量模型计算相关度,使用 boost, negativeboost 来增加,削弱 查询条件权重进行分数调优

2022-08-13 17:08:24 3586

原创 Elasticsearch实战(十九)---ES聚合算法易并行聚合算法及近似聚合算法及三角选择原则

ES聚合算法易并行聚合算法及近似聚合算法及三角选择原则,根据场景去选择自己的实现方式

2022-07-31 23:22:00 3915 1

原创 Elasticsearch实战(十八)--ES搜索Doc Values/Fielddata 正排索引 深入解析

ES搜索Doc Values和Fielddata 正排索引 深入解析,对docvalues及fielddata优势劣势及使用场景进行分析

2022-07-31 18:20:53 1975

原创 Elasticsearch实战(十七)---ES搜索如何使用In操作查询及如何Distinct去除重复数据

ES搜索如何使用In操作查询, 如何使用 filter过滤, 多层filter 过滤,如何caidinality去除重复数据

2022-07-17 17:28:09 12862

原创 Elasticsearch实战(十六)---TOP N 实现统计组内排名最高的N条数据及histogram区间统计

es搜索 实现统计组内排名最高的TopN条数据及Histogram区间统计, date_histogram日期区间统计的详细用法

2022-07-11 00:28:23 2546

原创 Elasticsearch实战(十五)---查询query,filter过滤,结合aggs 进行局部/全局聚合统计

es 聚合搜索,查询query,filter过滤,结合aggs 进行局部/全局 global 聚合统计,实现 查询过滤聚合操作,且利用global 实现局部聚合与全局聚合对比

2022-07-10 19:32:51 2727

原创 Elasticsearch实战(十四)---聚合搜索Aggs多层嵌套聚合处理

elasticsearch 聚合操作 搜索 Aggs聚合, 实现Count求和计数,Avg求平均值操作及多层分组嵌套聚合查询

2022-07-10 17:39:20 5900

原创 Elasticsearch实战(十三)---聚合搜索Aggs聚合及Count,Avg操作

elasticsearch 聚合操作 搜索 Aggs聚合, 实现Count求和计数,Avg求平均值操作

2022-07-03 23:53:42 3051

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除