从小孩子(初学者)的角度,从用户的角度探究MySQL是怎样运行的,把MySQL讲明白了

MySQL 是怎样使用的:从零蛋开始学习 MySQL 来来来,你什么都不用会,真正的从零蛋开始系统又轻松地学习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系列 MYSQL的一些经验 立即下载

相关推荐

MySQL是怎样运行的(仅限学习使用)

MySQL是怎样运行的(仅限学习使用)

mysql是怎样运行的-从根儿上理解mysql学习笔记(一)

第四章 InnoDB记录存储结构 InnoDB将数据划分成若干页,以页为作为磁盘和内存之间交互的基本单位。InnoDB中页的大小一般为16KB,也就是说一般情况下,一次最少从磁盘中读取16KB的数据到内存中,一次最少把内存中16KB的内容刷新到磁盘中。 InnoDB行格式 InnoDB行格式分类 compack redundant dynamic compressed 指定行格式语法 CREATE TABLE 表名(列的信息) ROW_FORMAT=行格式名称; ALTER TABLE 表名 ROW_F

none123java321的博客 1639

别再只会画方块了!Cesium 1.62 实战:用 Polygon、Ellipse 和 PolylineVolume 玩转复杂地理围栏与3D管道

本文深入探讨了Cesium 1.62在复杂地理围栏与3D管道开发中的高级应用,通过Polygon、Ellipse和PolylineVolume等API实现不规则禁飞区建模、椭圆围栏设计及地下管线可视化。文章结合实战代码,详细解析了性能优化技巧和工程实践,帮助开发者突破基础图形绘制局限,构建真实业务场景中的三维空间系统。

weixin_26763955的博客 104

MySQL优化,索引优化(学习笔记)

写SQL一次就能写成最好不常见,一蹴而就并非易事,都是需要经过优化才能让其更好 SQL性能下降的原因 查询语句写得不好 索引失效(单值或复合) 光联查询太多join 服务器调优及各个参数设置 具体下降分析 Mysql SQL语句执行顺序: FROM -> ON -> <join_type> JOIN <right_table> -> WHERE<where_condition> -> GROUP BY<group_by_list&g.

aspire_light的博客 294

Camera Sensor接口协议全解析(六)聚焦onsemi HiSPi接口的技术突破与应用实践

摘要: Onsemi HiSPi是一种高速并行接口协议,专为高分辨率图像传感器设计,具备1600 Mbps传输速率、低功耗和高兼容性特点。通过对比DVP、MIPI CSI-2等主流协议,HiSPi在工业/医疗领域表现突出,支持动态功耗控制、多ROI和CRC校验。其创新架构包含多PHY设计,提供分组SP、流SP等多种工作模式,满足灵活传输需求。实际应用中,HiSPi在PCB缺陷检测(5μm精度)和液晶面板检测(0.3% Mura检出率)等场景展现卓越性能,成为高速成像领域的关键技术。

GateWorld的博客 1435

TekTronix 高速信号完整性基础以及测试方法分析

如果信号速率比较高,则CTLE与FFE都无法满足要求,尤其是大于10G,比如USB3.1Gen2 10Gbps,PCIe4.0 16Gbps,这些场合都会采用DFE均衡,DFE的优点是,它既可以识别当前比特,并且可以判决前面的n个比特(Tap的阶数越高,看到的前面的比特数越多),根据前面比特的变化来计算出要处理当前比特所要变化的幅度,来补偿由于前面比特变化所引起的信号幅度的变化。10G以下,一般都不太关心这个串扰,高于10G的信号,会发现相互之间的串扰越来越明显,已经成为引起误码的重要的原因之一。

weixin_45365488的博客 4141

一文带你弄懂 MySQL 的加锁规则!

大家好,我是树哥。在之前的文章里,我们讨论了关于 MySQL 的许多问题,包括:MySQL 啥时候用表锁,啥时候用行锁?MySQL 不同隔离级别,都使用了什么锁?MySQL 啥时候用记录锁,啥时候用间隙锁?在这些文章中,我们大致了解了一些加锁的情况。但实际上 MySQL 的加锁规则是怎样的,我还不是特别清楚。所以今天我们就来深入了解下 MySQL 的加锁规则。MySQL 的加锁规则到底是怎样的?迷...

陈树义 378

实例讲解Simulink应用层开发CAN报文解包及CAN信号设置方法

本文通过讲解MCU CAN解包模块的模块设置、输入输出信号的设置及仿真测试验证,说明了CAN解包模块的设置方法、CAN解包模块输入输出信号的设置方法以及CAN解包模块的仿真测试及修正方法。在模型搭建过程中,建议养成一种搭建完成仿真测试验证的习惯,在模块阶段发现错误,解决错误,避免在后期模块集成之后报出大量错误,增加解决错误的工作量和难度。希望通过本文的介绍能给相关技术人员带来一些参考和帮助。

qq_43011586的博客 5680

4 个原则带你搞懂 MySQL 加锁规则

首先,明白 server 层与存储引擎层是多次数据交互的,并不是存储引擎层一次性查找完数据。其次,根据两个原则去分析加锁的范围,核心是加锁单位是 Next-Key 锁。最后,根据两个优化去进行锁退化,核心因素是唯一索引及等值查询。其中「两个原则、两个优化」是:原则 1:加锁的基本单位是 next-key lock。其中 next-key lock 是前开后闭区间,例如:(2, 5]。原则 2:查找过程中访问到的对象才会加锁。

cxytony的博客 328

Web3前沿技术的智能合约安全审计

随着Web3技术的快速发展,智能合约作为区块链应用的核心组件,其安全性问题日益突出。本文旨在系统性地介绍智能合约安全审计的技术体系,帮助开发者理解智能合约安全风险,掌握安全审计的方法论和工具链。智能合约安全的基本概念常见漏洞类型及其原理安全审计的技术方法实际审计案例分析安全审计工具和资源首先介绍基本概念和背景然后分析常见漏洞和安全风险接着详细讲解安全审计技术提供实际案例和代码示例最后讨论工具资源和未来趋势智能合约:运行在区块链上的自执行程序,代码即法律安全审计。

AI天才研究院 1546

AS5600磁编码器选型与安装避坑指南:磁铁形状、间隙距离到底怎么选?(附实测数据)

本文详细解析了AS5600磁编码器的选型与安装要点,包括磁铁形状、间隙距离等关键参数的选择,并附有实测数据支持。特别针对Arduino和I2C接口的应用场景,提供了硬件选型和机械安装的实用指南,帮助开发者避免常见陷阱,提升系统精度和稳定性。

weixin_27038245的博客 287

0001 零基础的小白能学会编程吗

知之者不如好之者,好之者不如乐之者。 有朋友问,编程难吗?一点都不会的话能不能学会呢? 也有朋友问,我们家小孩很喜欢打电脑游戏,能让他学习编程吗,要多大才可以学啊? 还有朋友问,很想学习编程,但是就是坚持不了,不知道怎样才能学会编程,有没有快点的简单的办法? 学哥的回答是:能,每个人都能学会编程。越早学越好。方法也很简单,兴趣+方法+坚持。 为什么要学编程

xiaoyou的专栏 1451

ESP32 CAM使用教程(入门级)

串口被占用,可以关闭其他使用到串口的界面;先将手机也连上wifi,然后使用手机浏览器打开这个IP地址,注意手机连接的wifi需要和开发板的wifi一致,也就是程序里自己修改的那个wifi,否则无法打开IP地址;将开发板连接到电脑,点击点击工具→端口,然后选择自己实际接的COM口,不清楚COM口的可以打开电脑设备管理器查看一下,插拔设备看看哪个COM口会刷新就是哪个COM口;安装好esp32库之后,点击工具→开发板→esp32→AI Thinker ESP32-CAM,型号要仔细找找,不要选错了;

qq_34426854的博客 2万+

8岁小学生教编程惊动苹果公司!长大了读清华?

现在能在网上找到很多很多的学习资源,有免费的也有收费的,当我拿到1套比较全的学习资源之前,我并没着急去看第1节,我而是去审视这套资源是否值得学习,有时候也会去问一些学长的意见,如果可以之后,我会对这套学习资源做1个学习计划,我的学习计划主要包括规划图和学习进度表。

2201_75604341的博客 330

COSMO-RS理论:流体相热力学预测的核心模型与技术突破

摘要:COSMO-RS模型通过量子化学计算分子表面电荷分布,实现了从微观量子尺度到宏观化工过程的热力学预测。该模型基于介电连续介质理论,将分子表面片段化处理,通过σ-剖面描述电荷分布,并计算片段间的静电失配能和氢键能。其核心算法通过自洽化学势方程求解活度系数,克服了传统模型依赖实验参数的局限。随着技术进步,模型引入了高阶描述符和色散力修正,提升了预测精度。在药物研发、化工分离等领域广泛应用,但仍存在对长程有序结构预测不足等局限性。该模型为复杂体系的热力学性质预测提供了重要理论工具。

ASKCOS博客 973

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

【平衡小车编程实战】(六)从零到一:直立环PD与速度环PI的C语言实现与调试心法

本文详细介绍了平衡小车编程中直立环PD与速度环PI的C语言实现与调试技巧。通过分析PD控制器在直立环中的应用和PI控制器在速度环中的优化,提供了实用的调试方法和参数设置建议,帮助开发者快速掌握PID控制算法在平衡小车中的核心逻辑与实战应用。

weixin_34014555的博客 339

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

MySql常用命令和语法以及可视化工具Navicat的使用

今天在课程的基础上,又看了网上的教程 ,自己动手创建了几个数据库,发现经常用到的命令就那些。现在记录下以备忘记。 注:SQL语言是以;来结束一个语句的。在MySql中命令好像是不区分大小写的。 一、MySQL常用语句及数据类型 1、创建数据库 mysql> create database ;例:mysql> create database student; //创建一个student数据

康康 5068

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Mysql进阶学习笔记(一)

借鉴掘金小册,小孩子4919MySQL是怎样运行的:从跟上理解MySQL MySQL复习 MySQL客户端服务器架构 MySQL服务器:与存储数据打交道,对客户端发来的SQL语句进行解析。 MySQL客户端:需要用户名和密码登录。 MySQL使用流程:1.启动MySQL服务器2.启动MySQL客户端3.客户端对服务器发送请求 启动后MySQL服务器进程的默认名称为mysqld,客户端名称为mysql。 MySQL的客户端和服务器使用TCP作为网络通信协议,MySQL服务器启动时会默认申请330

DuBenBen的博客 441

小孩子mysql_MySQL是怎样运行的——从根儿上理解MySQL

第0章 楔子——阅读前必看 1第 1章 装作自己是个小白——初识MySQL 31.1 MySQL的客户端/服务器架构 31.2 MySQL的安装 31.3 启动MySQL服务器程序 51.3.1 在类UNIX系统中启动服务器程序 51.3.2 在Windows系统中启动服务器程序 61.4 启动MySQL客户端程序 71.5 客户端与服务器连接的过程 101.5.1 TCP/IP 101.5.2 ...

weixin_33476149的博客 911

重识MySQL -《MySQL是怎样运行的》

重识MySQLMySQL的客户端/服务器架构MySQL的安装启动MySQL服务器程序启动MySQL客户端程序客户端与服务器连接的过程TCP/IP命名管道和共享内存UNIX域套接字服务端处理客户端请求连接管理解析与优化查询缓存语法解析查询优化存储引擎设置表的存储引擎   最近看了小孩子4919写的《MySQL是怎样运行的》,重新认识了MySQL,下面做一个总结。佩服作者有勇气辞职在家去写作,干自己喜欢的事情。之前掘金就买了作者的小册子,献上微薄之力支持。 MySQL的客户端/服务器架构   我们使用的微信Ap

yang_girl的博客 1557

mysql是怎样运行的-从根儿上理解mysql学习笔记(二)

说明 本文是《MySQL是怎样运行的-从根儿上理解MySQL》的学习笔记,文中的图全部来自于这本书,强烈建议买一本看看,对MySQL理解会特别深入,非常感谢作者"小孩子4919"。 第七章 B+树索引的使用 索引的代价及更好地使用索引 在介绍这部分只是前还是先创建一个表 CREATE TABLE single_table( id INT NOT NULL AUTO_INCREMENT, key1 VARCHAR(100), key2 INT, key3 VARCHAR(100), key_part1 VAR

none123java321的博客 1189

mysql是怎样运行的-从根儿上理解mysql学习笔记(四)

说明 本文是《MySQL是怎样运行的-从根儿上理解MySQL》的学习笔记,文中的图全部来自于这本书,强烈建议买一本看看,对MySQL理解会特别深入,非常感谢作者"小孩子4919"。 第十八章 事务 事务的四大特性 原子性 事务中的操作要么全部执行成功,要么失败全部回滚. 一致性 事务需满足一定的约束 隔离性 两个事务在执行过程中互不干扰 永久性 一旦事务执行成功,对数据库的影响是永久的 事务的状态转换 图18-3 事务的状态转换图 第二十一章 事务的隔离级别和MVCC 事务并发执行时遇到的一致性问题

none123java321的博客 477

Mysql常用命令

1、连接Mysql 格式: mysql -h主机地址 -u用户名 -p用户密码1、连接到本机上的MYSQL。 首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输密码.注意用户名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输入密码。 如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是: mysql>2、连接到远程主机上的MYSQL。假设远程主机的IP为:110.1

Vision_xie的博客 311

小孩-高性能Mysql-备份和恢复工具

MySQL Enterprise Backup和Percona XtraBackup适合需要高级备份和恢复功能的企业环境,而MyDumper和MySQL Dump适用于轻量级备份和开源项目。- Percona XtraBackup是Percona提供的免费、开源的备份工具,用于MySQL和Percona Server。- MySQL Enterprise Backup是MySQL官方提供的商业备份工具,支持全备份和增量备份。- 特点包括支持在线备份、压缩备份、部分备份、备份加密以及备份恢复优化。

m0_69378371的博客 880

MySQL 是怎样运行的:从根儿上理解 MySQL

MySQL 是怎样运行的:从根儿上理解 MySQL小孩子 著12 小时 · 25 小节从根儿上理解 MySQL,让 MySQL 不再是一个黑盒小册内容小册介绍MySQL...

codehole_的博客 9668

MYSQL 入门全套

注:以上两个链接有完整的安装方式,撸主也是参考他的安装的,安装完以后mysql.server start启动mysql服务 mysql操作 一、连接数据库 mysql -u user -p 例:mysql -u root -p 常见错误如下: ERROR 2002 (HY000): Can't connect to local My

java的平凡之路 429
上一篇: 深入学习Elasticsearch,熬夜码字写出7.X版本的核心知识
下一篇: 关于RocketMQ那些你可能不知道的性能优化!
Java技术那些事儿
博客等级 码龄5年 2306粉丝 2584原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值