hao同学的技术博客

  • 首页
  • Java
    • Java
    • JVM教程
    • Java面试
    • Java并发入门
    • Java并发进阶
  • 项目
    • 从零打造项目
  • Python
    • Python
    • Python爬虫
    • 算法
  • Java框架
    • Spring
    • SpringBoot
  • 前端
    • Angular
  • 其他
    • Linux
    • SQL
  • 随笔
分享技术,记录人生
一个痴迷于技术的厨艺爱好者
  1. 首页
  2. SQL
  3. 正文

关于MySQL,你是否系统了解过?

2022年5月31日 410点热度 0人点赞 0条评论

关于MySQL,你是否系统了解过?插图

前言

前一段时间在极客时间上学习了林老师的《MySQL实战45讲》课程,极大的加深了对 MySQL 的理解。以前只会写一些增删改查语句,知其然不知其所以然,比如说查询语句,虽然知道加索引可以提到查询效率,但是背后的原理,如何分析构建最佳索引等等,对我来说都是谜题。又比如说更新语句,涉及到事务和锁问题,何时开启一个事务,何时加锁,加什么锁,为什么会出现锁等待等等一系列问题。而这些知识点在林老师的课程中都有详细介绍到,不仅如此,同学们的课后评论也有助于提升我们的眼界。

《MySQL实战45讲》课程内容不算多,但是对于一个小白来说,学习量还是比较大的,一遍两遍都没法完全掌握。为了后期不断加深巩固知识点的理解,首先我将课程中的知识点归纳成个人笔记,这样之后对哪个知识点有疑问,我可以快速的定位到相关知识区,毕竟自己做的笔记还是有印象的;在整理完笔记后,知识点还比较零散,于是使用幕布构建知识网络图,将知识点进行归类学习,期间参考《MySQL技术内幕 InnoDB存储引擎 第2版》一书,完善知识体系。

本文主要是将所归纳的 MySQL 知识点进行简单讲解,需要声明的是,归纳的知识点比较精炼,对照笔记学习效果更佳,那么我们就开始吧。

知识归档

MySQL查询

如下图所示:

MySQL查询

该节主要分为四个模块:

  • 查询操作,来源于《MySQL实战之基础系列一》章节中的MySQL查询流程;

  • 单行数据查询,来源于《MySQL实战之实践系列三》章节中的单行数据查询;

  • 海量数据查询,来源于《MySQL实战之应用系列一》章节中的海量数据查询对内存的影响;

  • 查询计数,来源于《MySQL实战之实战系列二》章节中的查询计数;

  • 排序,来源于《MySQL实战之实战系列二》章节中的排序;

MySQL事务

如下图所示:

MySQL事务

该节分为两个模块:

  • 认识事务,来源于《MySQL技术内幕 InnoDB存储引擎 第2版》章节中的事务;
  • 事务隔离,来源于《MySQL实战之基础系列三》章节中的事务隔离;

MySQL索引

如下图所示:

MySQL索引

该节内容划分比较详细,来源出处有以下几处:

  • 《MySQL实战之基础系列一》章节中的索引;
  • 《MySQL实战之实践系列一》章节中的索引进阶;
  • 《MySQL实战之实践系列一》章节中的 MySQL 选错索引;
  • 《MySQL实战之实践系列一》章节中的如何选择字符串加索引;
  • 《MySQL优化手段》;
  • 《MySQL技术内幕 InnoDB存储引擎 第2版》章节中的索引与算法;

MySQL锁

如下图所示:

MySQL锁

该节分为三个模块:

  • 锁机制,来源于《MySQL实战之基础系列二》章节中的 MySQL锁机制 和《MySQL实战之实践系列三》章节中的幻读;
  • 加锁,来源于《MySQL实战之实践系列四》章节中的加锁;
  • Insert相关锁,来源于《MySQL实战之应用系列三》章节中的 Insert相关锁;

MySQL日志

如下图所示:

MySQL日志

该分为四个模块:

  • binlog,来源于《MySQL实战之实践系列五》章节中的 binlog 和《MySQL实战之实践系列三》章节中的数据准确性;
  • redolog,来源于《MySQL实战之实践系列一》章节中的 InnoDB刷脏页 和 《MySQL实战之实践系列三》章节中的数据准确性;
  • undo log,来源于其它笔记;
  • binlog与redolog ,来源于《MySQL实战之基础系列一》章节中的 MySQL更新操作。

MySQL表

如下图所示:

MySQL表

该节分为五个模块:

  • 数据表,来源于《MySQL实战之应用系列二》章节中的 Memory和InnoDB;
  • 临时表,来源于《MySQL实战之应用系列二》章节中的 用户临时表和内部临时表;
  • 分区表,来源于《MySQL实战之应用系列四》章节中的 分区表;
  • Join语句,来源于《MySQL实战之应用系列二》章节中的 Join语句;
  • Join优化,来源于《MySQL实战之应用系列二》章节中的 Join优化。

MySQL高可用

如下图所示:

MySQL高可用

该节分为六个模块:

  • 并行复制能力,来源于《MySQL实战之实践系列五》章节中的 并行复制能力;
  • 高可用,来源于《MySQL实战之实践系列五》章节中的 高可用;
  • 主从同步,来源于其它笔记;
  • 主备切换,来源于《MySQL主从同步》章节中的 主备切换;
  • 读写分离,来源于《MySQL主从同步》章节中的 读写分离;
  • 校验主库,来源于《MySQL主从同步》章节中的 验证主库是否出问题。

MySQL操作

如下图所示:

MySQL操作

该节分为四个模块:

  • 表空间回收,来源于《MySQL实战之实践系列二》章节中的 表空间回收;
  • kill语句,来源于《MySQL实战之应用系列一》章节中的 kill语句;
  • 误删数据,来源于《MySQL实战之应用系列一》章节中的 误删数据;
  • 用户赋权,来源于《MySQL实战之应用系列三》章节中的 用户赋权。

MySQL备份与恢复

如下图所示:

MySQL备份与恢复

该节内容来源于以下几处:

  • 《MySQL实战之应用系列三》章节中的 数据拷贝;
  • 《MySQL技术内幕 InnoDB存储引擎 第2版》章节中的 备份与恢复;
  • 网上资源。

MySQL其它

如下图所示:

MySQL其它

该节分为两个模块:

  • 自增ID,来源于《MySQL实战之应用系列四》章节中的 自增ID;
  • 自增主键,来源于《MySQL实战之应用系列三》章节中的 自增主键。

推荐阅读

数据库内核月报

写在最后

上次面试准备的 MySQL 知识复习点,内容不够全面,也比较浅薄,因此借此机会好好整理一下 MySQL 知识网络。有需要的朋友可以点击下方链接获取笔记和知识脉络图。

链接:https://pan.baidu.com/s/1gLxQkNdVKctjl-RqIxF6lg
提取码:ytaw

如果对你有所帮助,麻烦点赞支持一下!

本作品采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可
标签: MySQL
最后更新:2022年5月31日

hresh

这是一个专注于IT技术学习交流的个人技术博客网站,包括Java学习、Python爬虫、Web开发实践等领域,深耕Java领域,内容涵盖Java基础、Java并发编程、Java虚拟机、Java面试等核心知识点。

点赞
< 上一篇
下一篇 >

文章评论

取消回复

hresh

这是一个专注于IT技术学习交流的个人技术博客网站,包括Java学习、Python爬虫、Web开发实践等领域,深耕Java领域,内容涵盖Java基础、Java并发编程、Java虚拟机、Java面试等核心知识点。

文章目录
  • 前言
  • 知识归档
  • 推荐阅读
  • 写在最后
最新 热点 随机
最新 热点 随机
后端必知:遵循Google Java规范并引入checkstyle检查 Spring Security结合Redis实现缓存功能 Spring Security结合JWT实现认证与授权 Spring Security自定义认证逻辑实现图片验证码登录 Spring Security进阶学习 Spring Security入门学习
String类之字符串常量池与intern方法 Spring Security结合Redis实现缓存功能 Spring IoC之ApplicationContext中refresh过程 聊一聊垃圾收集器 Java并发编程Bug的源头 你真的了解垃圾回收吗

COPYRIGHT © 2022 hao同学的技术博客. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

鄂ICP备2022007381号

鄂公网安备 42010302002449号