MySQL
文章平均质量分 85
Java程序员周瑜
Dubbo源码贡献者,原大众点评架构师
展开
-
全网推荐的《MySQL性能调优与架构设计》笔记,MySQL性能调优入门看这篇就够了
作为最为流行的开源数据库软件之一,MySQL 数据库软件已经是广为人知了,同时项目中几乎无处不在,面试时又100%会问到的技术点,非MySQL莫属了。因此在这里给大家准备了这篇《MySQL性能调优与架构设计》学习笔记。原创 2023-03-22 22:05:39 · 21226 阅读 · 0 评论 -
B+树索引实战:全值匹配查询
一个索引都为对应一棵B+树,树中每一个节点都是一个数据页,一个页默认会占用16KB的存储空间,所以一个索引也是会占用磁盘空间的。(了解更多Java知识可关注微信公众号“老周扯IT”)索引是对数据的排序,那么当对表中的数据进行增、删、改操作时,都需要去维护修改内容涉及到的B+树索引。所以在进行增、删、改操作时可能需要额外的时间进行一些记录移动,页面分裂、页面回收等操作来维护好排序。查询优化器会分析这些查询条件并且按照可以使用的索引中列的顺序来决定先使用哪个查询条件。下面这个sql是用不到索引的因为B+树先是按原创 2022-06-18 15:22:38 · 259 阅读 · 0 评论 -
MySQL事务原理详解,一篇文章让你搞懂
事务(ACID)场景:小明向小强转账10元原子性(Atomicity)转账操作是一个不可分割的操作,要么转失败,要么转成功,不能存在中间的状态,也就是转了一半的这种情况。我们把这种要么全做,要么全不做的规则称之为原子性。隔离性(lsolation)另外一个场景:小明向小强转账10元小明向小红转账10元隔离性表示上面两个操作是不能相互影响的一致性(Consistency)对于上面的转账场景,一致性表示每一次转账完成后,都需要保证整个系统的余额等于所有账户的收入减去所有账户的支出。如果原创 2022-05-17 19:46:56 · 1457 阅读 · 2 评论 -
四种JAVA架构演进史,程序员能学会最后一种就非常厉害了,至少50k
前言如果一个JAVA开发人员,不了解常见架构的演进,肯定会制约自己技术的选型和晋升空间。这里我列举了目前主要的四种软件架构以及他们的优缺点,希望能够帮助软件开发人员拓展知识面。(如有说的不对之处还望指正)一、单体架构单体架构比较初级,典型的三级架构,前端(Web/手机端)+中间业务逻辑层+数据库层。这是一种典型的Java Spring mvc或者Python Django框架的应用。其架构图如下所示:单体架构的应用比较容易部署、测试, 在项目的初期,单体应用可以很好地运行。然而,随着需求的不断原创 2022-04-07 21:43:43 · 2990 阅读 · 0 评论 -
爆火的MySQL:抛开复杂的架构设计,MySQL优化思想基本都在这
优化一览图优化笔者将优化分为了两大类:软优化和硬优化。软优化一般是操作数据库即可;而硬优化则是操作服务器硬件及参数设置。1、软优化1)查询语句优化首先我们可以用EXPLAIN或DESCRIBE(简写:DESC)命令分析一条查询语句的执行信息。例:DESC SELECT * FROM `user`显示:其中会显示索引和查询数据读取数据条数等信息。2)优化子查询在MySQL中,尽量使用JOIN来代替子查询。因为子查询需要嵌套查询,嵌套查询时会建立一张临时表,临时表的建立和删除都会有原创 2022-04-02 20:33:40 · 1336 阅读 · 0 评论 -
按这篇Java程序员的学习路线和职业生涯规划建议去学习,拿下年薪50w应该不是问题
最近在网上看到一篇关于Java程序员职业生涯规划的文章在Java程序员圈子里引起了一些人的评论和热议。众所周知,由于疫情的影响部分企业不是倒闭了就是困难中求生存,对于求职者而言,找工作显得格外艰难。但对于Java程序员的招聘却远远没有饱和,年薪10W我认为是一个最起码的薪资水准。现在Java程序员挺多的,但是职位需求量更大,能干、实干、优秀的程序员确实相当缺乏。对此,我只能说,现在的Java 程序员面临更加激烈的竞争。那么如何让自己变得有足够的竞争力?答案当然是学习啦,不断提高自己的技术原创 2022-03-17 19:33:29 · 2901 阅读 · 0 评论 -
再不卷就晚了,2022年金三银四互联网大厂面试题【第二期】
前言上一期发布了一篇《2022金三银四互联网大厂面试题》,结果很多同学来找我要资料并且反馈都说确实面试被问到的几率很大,第二期什么时候出来呀?于是我呕心沥血花了一个星期整理出来了第二期,这一期我特意整理了大厂中比较常见的20道大厂Redis面试题(附答案)答案在文章末尾,帮助大家在最短的时间内复习更多的知识。废话不多说,正文走起!🍅 本篇为金三银四互联网大厂面试题《Redis篇》🍅 整理不易,请大家点个赞支持下吧!🍅 如需文档下载版请移至文章末尾跳转目录前言1、什么是原创 2022-03-09 15:45:59 · 1339 阅读 · 2 评论 -
不要再问MySQL底层了,这篇文章已经介绍的非常清楚了
名称 中文名 占用空间 简单描述File Header 文件头部 38字节 页的一些通用信息Page Header 页面头部 56字节 数据页专有的一些信息Infimum + Supremum 最小记录和最大记录 26字节 两个虚拟的行记录User Records 用户记录 不确定 实际存储的行记录内容Free Space 空闲空间 不确定 页中尚未使用的空间Page Directory 页面目录 不确定 页中的某些记录的相对位置File Trailer 文件尾部 8字节 校验页是否完整.原创 2020-11-03 20:47:37 · 3895 阅读 · 25 评论 -
阿里面试官让我谈谈:Mysql中的降序索引底层实现,简单!
什么是降序索引大家可能对索引比较熟悉,而对降序索引比较陌生,事实上降序索引是索引的子集。我们通常使用下面的语句来创建一个索引:create index idx_t1_bcd on t1(b,c,d);上面sql的意思是在t1表中,针对b,c,d三个字段创建一个联合索引。但是大家不知道的是,上面这个sql实际上和下面的这个sql是等价的:create index idx_t1_bcd on t1(b asc,c asc,d asc);asc表示的是升序,使用这种语法创建出来的索引叫做升序索引原创 2020-10-22 16:34:05 · 4075 阅读 · 8 评论