前言
前一段时间在极客时间上学习了林老师的《MySQL实战45讲》课程,极大的加深了对 MySQL 的理解。以前只会写一些增删改查语句,知其然不知其所以然,比如说查询语句,虽然知道加索引可以提到查询效率,但是背后的原理,如何分析构建最佳索引等等,对我来说都是谜题。又比如说更新语句,涉及到事务和锁问题,何时开启一个事务,何时加锁,加什么锁,为什么会出现锁等待等等一系列问题。而这些知识点在林老师的课程中都有详细介绍到,不仅如此,同学们的课后评论也有助于提升我们的眼界。
《MySQL实战45讲》课程内容不算多,但是对于一个小白来说,学习量还是比较大的,一遍两遍都没法完全掌握。为了后期不断加深巩固知识点的理解,首先我将课程中的知识点归纳成个人笔记,这样之后对哪个知识点有疑问,我可以快速的定位到相关知识区,毕竟自己做的笔记还是有印象的;在整理完笔记后,知识点还比较零散,于是使用幕布构建知识网络图,将知识点进行归类学习,期间参考《MySQL技术内幕 InnoDB存储引擎 第2版》一书,完善知识体系。
本文主要是将所归纳的 MySQL 知识点进行简单讲解,需要声明的是,归纳的知识点比较精炼,对照笔记学习效果更佳,那么我们就开始吧。
知识归档
MySQL查询
如下图所示:
该节主要分为四个模块:
- 查询操作,来源于《MySQL实战之基础系列一》章节中的MySQL查询流程;
-
单行数据查询,来源于《MySQL实战之实践系列三》章节中的单行数据查询;
-
海量数据查询,来源于《MySQL实战之应用系列一》章节中的海量数据查询对内存的影响;
-
查询计数,来源于《MySQL实战之实战系列二》章节中的查询计数;
-
排序,来源于《MySQL实战之实战系列二》章节中的排序;
MySQL事务
如下图所示:
该节分为两个模块:
- 认识事务,来源于《MySQL技术内幕 InnoDB存储引擎 第2版》章节中的事务;
- 事务隔离,来源于《MySQL实战之基础系列三》章节中的事务隔离;
MySQL索引
如下图所示:
该节内容划分比较详细,来源出处有以下几处:
- 《MySQL实战之基础系列一》章节中的索引;
- 《MySQL实战之实践系列一》章节中的索引进阶;
- 《MySQL实战之实践系列一》章节中的 MySQL 选错索引;
- 《MySQL实战之实践系列一》章节中的如何选择字符串加索引;
- 《MySQL优化手段》;
- 《MySQL技术内幕 InnoDB存储引擎 第2版》章节中的索引与算法;
MySQL锁
如下图所示:
该节分为三个模块:
- 锁机制,来源于《MySQL实战之基础系列二》章节中的 MySQL锁机制 和《MySQL实战之实践系列三》章节中的幻读;
- 加锁,来源于《MySQL实战之实践系列四》章节中的加锁;
- Insert相关锁,来源于《MySQL实战之应用系列三》章节中的 Insert相关锁;
MySQL日志
如下图所示:
该分为四个模块:
- binlog,来源于《MySQL实战之实践系列五》章节中的 binlog 和《MySQL实战之实践系列三》章节中的数据准确性;
- redolog,来源于《MySQL实战之实践系列一》章节中的 InnoDB刷脏页 和 《MySQL实战之实践系列三》章节中的数据准确性;
- undo log,来源于其它笔记;
- binlog与redolog ,来源于《MySQL实战之基础系列一》章节中的 MySQL更新操作。
MySQL表
如下图所示:
该节分为五个模块:
- 数据表,来源于《MySQL实战之应用系列二》章节中的 Memory和InnoDB;
- 临时表,来源于《MySQL实战之应用系列二》章节中的 用户临时表和内部临时表;
- 分区表,来源于《MySQL实战之应用系列四》章节中的 分区表;
- Join语句,来源于《MySQL实战之应用系列二》章节中的 Join语句;
- Join优化,来源于《MySQL实战之应用系列二》章节中的 Join优化。
MySQL高可用
如下图所示:
该节分为六个模块:
- 并行复制能力,来源于《MySQL实战之实践系列五》章节中的 并行复制能力;
- 高可用,来源于《MySQL实战之实践系列五》章节中的 高可用;
- 主从同步,来源于其它笔记;
- 主备切换,来源于《MySQL主从同步》章节中的 主备切换;
- 读写分离,来源于《MySQL主从同步》章节中的 读写分离;
- 校验主库,来源于《MySQL主从同步》章节中的 验证主库是否出问题。
MySQL操作
如下图所示:
该节分为四个模块:
- 表空间回收,来源于《MySQL实战之实践系列二》章节中的 表空间回收;
- kill语句,来源于《MySQL实战之应用系列一》章节中的 kill语句;
- 误删数据,来源于《MySQL实战之应用系列一》章节中的 误删数据;
- 用户赋权,来源于《MySQL实战之应用系列三》章节中的 用户赋权。
MySQL备份与恢复
如下图所示:
该节内容来源于以下几处:
- 《MySQL实战之应用系列三》章节中的 数据拷贝;
- 《MySQL技术内幕 InnoDB存储引擎 第2版》章节中的 备份与恢复;
- 网上资源。
MySQL其它
如下图所示:
该节分为两个模块:
- 自增ID,来源于《MySQL实战之应用系列四》章节中的 自增ID;
- 自增主键,来源于《MySQL实战之应用系列三》章节中的 自增主键。
推荐阅读
写在最后
上次面试准备的 MySQL 知识复习点,内容不够全面,也比较浅薄,因此借此机会好好整理一下 MySQL 知识网络。有需要的朋友可以点击下方链接获取笔记和知识脉络图。
链接:https://pan.baidu.com/s/1gLxQkNdVKctjl-RqIxF6lg
提取码:ytaw
如果对你有所帮助,麻烦点赞支持一下!
本文作者为hresh,转载请注明。