02 2020 档案
摘要:如果大家对我的 "【大白话系列】MySQL 学习总结系列" 感兴趣的话,可以点击关注一波。 一、回顾 MySQL 学习总结系列至此已经第七节了。 从大方向:我们已经学习了 MySQL 的架构设计、InnoDB 的架构设计。 从较为深入的:我们已经学习了 rodo log 和 binlog 配合的两阶
阅读全文
摘要:如果大家对我的 "【大白话系列】MySQL 学习总结系列" 感兴趣的话,可以点击关注一波。 一、上节回顾 在上节 "《 缓冲池(Buffer Pool) 的设计原理和管理机制》" 中,介绍了缓冲池整体的设计原理。包括几个比较重要的概念:free 链表、flush 链表和 lru 链表。正式因为这一套
阅读全文
摘要:一、生产出错! 今天早上11点左右,我在工作休息之余,撸了一下猫。突然,工作群响了,老大在里面说:APP出错了! 妈啊,这太吓人了,因为只是说了出错,但是没说错误的信息。所以我赶紧到APP上看看。 这果然是出错了,而且还是简单而粗暴的500,太吓人了。 二、本地赶紧调试起来! 既然线上出错了,我们又
阅读全文
摘要:一、缓冲池(Buffer Pool)的地位 在《 "MySQL 学习总结 之 InnoDB 存储引擎的架构设计" 》中,我们就讲到,缓冲池是 InnoDB 存储引擎中最重要的组件。因为为了提高 MySQL 的并发性能,使用到的数据都会缓存在缓冲池中,然后所有的增删改查操作都将在缓冲池中执行。 通过这
阅读全文
摘要:一、背景 昨天早上,交流群有一位同学提出了一个问题。看下图: 我不是大佬,而且当时我自己的想法也只是猜测,所以并没有回复那位同学,只是接下来自己做了一个测试验证一下。 他只简单了说了一句话,就是同样的sql,一个没加 order by 就全表扫描,一个加了 order by 就走索引了。 我们可以仔
阅读全文
摘要:一、上节回顾 上节我们讲到,建议将 的刷盘策略设置为1:即提交事务时,强制将 里的 刷入到磁盘后才算事务提交成功。 但是我们都知道, 是 InnoDB 存储引擎的组件,而 MySQL 支持很多种存储引擎,那么 MySQL 在撇除存储引擎后,自己就没有记录一下关于数据更新的日志吗? 二、binlog
阅读全文
摘要:一、存储引擎 上节我们最后说到,SQL 的执行计划是执行器组件调用存储引擎的接口来完成的。 那我们可以理解为:MySQL 这个数据库管理系统是依靠存储引擎与存放数据的磁盘文件进行交互的。 那么 MySQL 有哪些存储引擎呢? 主要有 MyISAM、InnoDB、Memory等等。而现在互联网中,基本
阅读全文
摘要:一、MySQL还是个黑盒子 我们都知道,只要我们系统引入了 MySQL 驱动和连接池,就能从数据库连接池获取一个数据库连接,然后就可以执行增删改查的操作了。 可是我们并不知道 MySQL 里面是怎么执行的,例如我们执行了 insert 语句,只知道表里面多了一条数据,MySQL 是怎么插入的我们就不
阅读全文
摘要:一、MySQL驱动 我们如果在 Java 系统里要访问 MySQL,我们只需要引入一个 MySQL 的驱动即可,然后通过 MySQL 驱动和 MySQL 进行网络通信,对数据库表进行各种增删改查的操作。 二、如何引入 MySQL 驱动 1、以前的老旧方法: 我们会找到 MySQL 驱动的 jar 包
阅读全文
摘要:聊聊最近,2020年,在2019年的年尾时,大家可谓对这年充满新希望,特别是有20200202这一天。可是澳洲长达几个月的大火,新型冠状病毒nCoV的发现,科比的去世等等事情,让大家感到相当的无奈,生命是如此的脆弱,明天又是如此的未知。但是人应当活在当下,勇敢的面对疫情,和大家和政府一起打赢这场没硝
阅读全文