面试官如果问你:你会从哪些维度进行MySQL性能优化?你会怎么回答? 所谓的性能优化,一般针对的是MySQL查询的优化。既然是优化查询,我们自然要先知道查询操作要经过哪些环节,然后思考可以在哪些环节进行优化。 面试官如果问你:你会从哪些维度进行MySQL性能优化?你会怎么回答? 所谓的性能优化,一般针对的是MySQL查询的优化。既然是优化查询,我们自然要先知道查询操作要经过哪些环节,然后思考可以在哪些环节进行优化。 我之前写过一条SQL查询语句是如何执行的?,感兴趣的朋友可以阅读一下,我用其中的一张图展示查询操作需要经历的基本环节。 下面从5个角度介绍一下MySQL优化的一些策略。 1. 连接…
我是蝉沐风,一个让你沉迷于技术的讲述者 公众号【蝉沐风】,欢迎大家关注留言 单例模式 有些对象我们只需要一个,比如线程池、ServletContext、ApplicationContext、 Windows中的回收站,此时我们便可以用到单例模式。 单例模式就是确保一个类在任何情况下都只有一个实例,并提供一个全局访问点。 1. 饿汉式单例 优点: 饿汉式单例是最简单的一种单例形式,它没有添加任何的锁,执行效率最高 线程安全 缺点: 某些情况下,造成内存浪费,因为对象未被使用的情况下就会被初始化,如果一个项目中的类多达...
我是蝉沐风,一个让你沉迷于技术的讲述者 微信公众号【蝉沐风】,欢迎大家关注留言 猫粮公司的诞生 陀螺是个程序喵,另起炉灶自己开了公司,为了纪念曾经码梦为生的岁月,公司起名为“跑码场”,主要业务是生产猫粮。 一个喵兼顾着研发和运营,终究不是长久之计。于是雇了一个菜喵做学徒,技术怎么样并不在意,陀螺最看重的是菜喵的名字—招财。 很快,第一款产品「鱼香猫粮」上线,陀螺让招财写个线上订单系统,方便顾客网上下单 招财很快写出了代码 测试之后上线,一直运行正常。 过了一段时间,陀螺对招财说:“公司目前正在研发一款牛肉猫粮,并且预计在接下来一...
两只猫的故事带你深入理解静态代理模式 我是蝉沐风,一个让你沉迷于技术的讲述者 微信公众号【蝉沐风】,欢迎大家关注留言 时间都去哪儿了 「跑码场」在陀螺的经营下,猫粮生意一直很红火。 这一天,陀螺找到程序喵招财,说道:“年关将至,最近订单有点多,我查看了一下系统监控,发现RT有点长,你排查一下原因,别影响顾客下单。” “RT是个啥?”招财挠了挠头问道。 “RT就是系统响应时间啊,在你进行系统升级之后,系统响应时间比原来变长了。” “……直接说系统变卡了不就得了,还说得这么花里胡哨”,招财小声嘀咕,却也不敢直接回怼自己的师傅。 陀螺看着招财,“你这家伙在嘀咕什...
还不知道SQL查询语句是如何执行的?看一下这篇文章吧 MySQL是典型的C/S架构(客户端/服务器架构),客户端进程向服务端进程发送一段文本(MySQL指令),服务器进程进行语句处理然后返回执行结果。 问题来了。服务器进程对客户端发送的请求究竟做了什么处理呢?本文以查询请求为例,讲解MySQL服务器进程的处理流程。 如下图所示,服务器进程在处理客户端请求的时候,大致需要进行3个步骤: 处理连接 解析与优化 存储引擎 接下来我们来详细了解一下这3步具体都做了什么。 1. 处理连接 客户端向服务器发送请求并最终收到响应,本质上是一个进程间通信的过程。 MySQL有专门用于处理连接的模块——连接器。…
虽然学会了静态代理,但是招财这几天仍然是有些闷闷不乐,因为始终没有想出上次陀螺留给自己的问题的解决思路。 如何为任意对象的任意方法前后添加同一个处理逻辑? 手动为每一个对象的每一个方法中添加同一段代码逻辑是不可能的,这辈子都不可能的。「懒」是科技进步的重要动力! 思考未果,招财终于要求助陀螺了。 捉襟见肘的静态代理 “师傅,你上次留给我的问题我没想通。这种需求的现实意义在哪儿呢?”招财开门见山。 陀螺说:“如果真的能在任意方法前后添加自己的逻辑,那作用可就太大了!你可以在逻辑运行之前先校验操作权限;你也可以在逻辑运行之前先开始一个事务,在逻辑完成之后提交或回滚事务。这...
文章首发于公众号「蝉沐风」,认真写好每一篇文章,欢迎大家关注交流 这是图解MySQL的第2篇文章,这篇文章会通过一条SQL更新语句的执行流程让大家清楚地明白: 什么是InnoDB页?缓存页又是什么?为什么这么设计? 什么是表空间?不同存储引擎的表在文件系统的底层表示上有什么区别? Buffer Pool是什么?为什么需要?有哪些我们需要掌握的细节? MySQL的三种日志文件redo日志、undo日志、binlog分别是什么?为什么需要这么多种类型的日志? 正文开始! 之前我们讲过了一条SQL查询语句是如何执行的,那么插入(INSERT)、更新(UPDATE)和删除(DELETE)...
单独按Windows:显示或隐藏“开始”功能表 Windows+BREAK:显示“系统属性” 对话框 Windows+D:显示桌面 Windows+M:最小化所有窗口 Windows+Shift+M:还原最小化的窗口 Windows+E:开启“资源管理器” Windows+F:查找文件或文件夹 Windows+CTRL+F:查找电脑 Windows+F1:显示 Windows “帮助” Windows+R:开启“运行” 对话框 Windows+U:开启 “公用程序管理器” Windows+L:切换使用者 Ctrl+S 保存 Ctrl+W 关闭程序 Ctrl+N 新建 Ctrl...
按下开机键,计算机背后的故事 计算机是如何启动的? ================================= 从打开电源到开始操作,计算机的启动是一个非常复杂的过程。 我一直搞不清楚,这个过程到底是怎么回事,只看见屏幕快速滚动各种提示……… 零、boot的含义 问:”启动”用英语怎么说? 答:boot。boot原来的意思是靴子,”启动”与靴子有什么关系呢? 原来,这里的boot是bootstrap(鞋带)的缩写,它来自一句谚语: ”pull oneself up by one’s bootst..…
电脑为什么越用越慢 ①垃圾文件过多。系统用的久了,在系统盘里会产生大量无用文件(垃圾文件),占用了系统的一定资源,从而使系统运行速度下降,这就要我们删除垃圾文件来提高运行速度。 ②虚拟内存过低。硬盘中有一个很宠大的数据交换文件,它是系统预留给虚拟内存作暂存的地方,很多应用程序都经常会使用到,所以系统需要经常对主存储器作大量的数据存取,因此存取这个档案的速度便构成影响计算机快慢的非常重要因素! ③桌面图标太多,安装了太多的字体 ④系统感染病毒。如果你的计算机感染了病毒,那么系统的运行速度会大幅度变慢。病毒入侵后,首先占领内存这个据点,然后便以此为根据地在内存中开始漫无休止地复制自己,随着它越来越…