儿童友好指南:如何轻松理解MySQL的运作

发表时间: 2022-11-05 19:26

前言

孩子从小就有一个疑惑:为什么我在接触一门新课程的时候总是觉得它很高大上,并且学的过程也比较痛苦,但是当我真正学会它的时候,又会觉得这玩意儿也就那样,没什么了不起的,但是为啥学的时候就不能很轻松呢?有时候我们走了很久,却忘记自己为什么出发,类似的,大人长大后就忘记了自己作为小孩时的样子,一个满腹经纶的技术专家对于初学者所面临的问题往往是无法切身体会的,所以这份手册以小孩子(初学者)的角度,从用户的角度出发去解决同志们在学习过程中面临的痛点

MySQL应该是国内互联网公司使用最为广泛的数据库。很多朋友在研究MySQL、学习MySQL的过程中,或多或少都会遇到这样一些困难:

网上MySQL的资料不系统,多而杂;
有的书偏应用,比较浅,底层原理没有讲;
有的书语言比较晦涩,比较难懂。

如果你也有这些困难,推荐这份《MySQL是怎样运行的:从根儿上理解 MySQL》手册
而广大的人民群众其实需要经历一个由浅入深的平缓学习曲线,而且这个学习的过程不至于特别的无聊。

因篇幅限制,小编在这里无法全部展现,下面给大家展示部分内容,有需要此份文档学习的朋友,麻烦三连支持一下,私信小编【mysql】即可~~~

豆瓣评论

豆瓣评论1 作者真的是很用心设计本书的章节顺序,从现有场景引出可能出现的问题再到解决方案设计,循序渐进的揭开mysql 的内部实现细节,每一章的知识就是那么水到渠成,这不是讲解而是在设计。国内技术书籍都有这样的态度,那一定会崛起技术上的颠覆。作者真棒,给你赞!!

豆瓣评论2 如果说MySQL技术内幕写作有点刻意专业化了,这本书写的很适合入门之后的学习,能解决很多问题。一个是索引的实现,一个是事务的实现。手头上的书特别限制自己的视野和思路,例如高性能mysql其实就是黑箱式的解读,不是程序员看的书籍。

豆瓣评论3 mysql已经非常复杂了,特别是InnoDB引擎;市面上的其他书无论写的多好,把这么多东西讲清楚,读者能否坚持读下去绝对是个问题。但是这本书循序渐进,“刚开始是什么样子的”,“有什么问题”, “如何解决”, 一步一步娓娓道来,超棒超棒,抛开技术不说,以作者的写作功底以及故事情节的编排水平,写小说也是高分。

写了什么

虽然在某些方面看起来不是那么严肃,但是的确是一本专业技术手册,致力于覆盖大家工作和面试过程中最常遇到的一些关于MySQL的核心概念。本书共划分为4个部分
各部分简介如下。

  • 第1部分(第1章~第3章):以只会写增删改查语句的小白身份重新审视MySQL到底是个什么东西,介绍MySQL的服务器程序和客户端程序有哪些、启动选项和系统变量以及字符集的一些事情。

!](https://upload-images.jianshu.io/upload_images/28070583-5ffa3ccf49c645b0.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

  • 第2部分(第4章~第9章):唠叨记录、页面、索引、表空间的结构和用法。第2部分是全篇的基础,后边的章节都依赖于这些结构。

  • 第3部分(第10章~第17章):介绍同学们工作中经常遇到的查询优化问题,比如单表查询是如何执行的,连接查询是怎么执行的,MySQL基于成本和规则的优化是个什么东西。本部分还十分详细的介绍如何查看Explain语句的执行结果。

  • 第4部分(第18章~第25章):介绍为什么会有事务的概念,以及MySQL是如何实现事务的,其中包括redo日志、undo日志、MVCC、各种锁的细节等。

本书的目录如下:


写作时参考的MySQL源码版本是5.7.22,不过其中的绝大部分知识和MySQL的版本没有什么特别大的关系,在某些与特定版本相关的地方我也有明显的强调。

本书读者对象

大家需要注意的是,它并不是一本数据库入门图书,因此大家需要知道增删改查是啥意思,并且能用SQL语句写出来。当然并不要求各位知道的太多,甚至不知道连接的语法都可以。另外,读者应该掌握一些计算机基础知识,比方说什么是位、什么是字节、进制转换等。大致适合下边这些读者来阅读:

  • 刚刚学完SQL基础的同学;
  • 被数据库问题折磨的求职者;
  • 天天被DBA逼着优化SQL的业务开发小伙伴;
  • 菜鸟DBA和不是非常菜的DBA小伙伴;
  • 对MySQL内核有强烈兴趣但一看源码就发懵的小伙伴。

因篇幅限制,小编在这里无法全部展现,只能展示部分内容,有需要此份文档学习的朋友,麻烦三连支持一下,私信小编【mysql】即可~~~