0、开篇词,一起来搞懂MySQL

你好,我是林晓斌,网名“丁奇”,欢迎加入我的专栏,和我一起开始MySQL学习之旅。我曾先后在百度和阿里任职,从事MySQL数据库方面的工作,一步步地从一个数据库小白成为MySQL内核开发人员。回想起来,从我第一次带着疑问翻MySQL的源码查到答案至今...

MySQL实战45讲

1、一条SQL查询语句是如何执行的

你好,我是林晓斌。 这是专栏的第一篇文章,我想来跟你聊聊MySQL的基础架构。我们经常说,看一个事儿千万不要直接陷入细节里,你应该先鸟瞰其全貌,这样能够帮助你从高维度理解问题。同样,对于MySQL的学习也是这样。平时我们使用数据库,看到的通常都是一个...

MySQL实战45讲

3、为什么你改了我还看不见

提到事务,你肯定不陌生,和数据库打交道的时候,我们总是会用到事务。最经典的例子就是转账,你要给朋友小王转100块钱,而此时你的银行卡只有100块钱。 转账过程具体到程序里会有一系列的操作,比如查询余额、做加减法、更新余额等,这些操作必须保证是一体的,...

MySQL实战45讲

2、一条SQL更新语句是如何执行的

前面我们系统了解了一个查询语句的执行流程,并介绍了执行过程中涉及的处理模块。相信你还记得,一条查询语句的执行过程一般是经过连接器、分析器、优化器、执行器等功能模块,最后到达存储引擎。 那么,一条更新语句的执行流程又是怎样的呢? 之前你可能经常听DBA...

MySQL实战45讲

4、深入浅出索引(上)

提到数据库索引,我想你并不陌生,在日常工作中会经常接触到。比如某一个SQL查询比较慢,分析完原因之后,你可能就会说“给某个字段加个索引吧”之类的解决方案。但到底什么是索引,索引又是如何工作的呢?今天就让我们一起来聊聊这个话题吧。 数据库索引的内容比较...

MySQL实战45讲

5、深入浅出索引(下)

在上一篇文章中,我和你介绍了InnoDB索引的数据结构模型,今天我们再继续聊聊跟MySQL索引有关的概念。 在开始这篇文章之前,我们先来看一下这个问题: 在下面这个表T中,如果我执行 select * from T where k between 3...

MySQL实战45讲
1238