mysql基础——sql 执行流程

2020-10-18  本文已影响0人  chase_lwf

内容

一 1条sql查询语句如何执行

1.1 执行流程
例如:select * from t where id=1 这样一条简单语句mysql是如何执行的呢?引用《丁奇45讲》里第一讲的mysql 基本架构示意图,简单说明一下:


image.png

1.2 其他知识点

二 一条更新语句如何执行

 update t set c = c+1 where id=2

2.3 change buffer
在实际过程中,mysql利用change buffer对要更新行的数据页不在内存这种情况做了优化,针对数据页不在内存这种情况,如果更新操作总是需要去随机IO磁盘拿取数据,效果会差一些,所以在buffer pool内存中开辟了一段空间change buffer,当有更新、delete、 insert语句时会把这个操作先写入change buffer, 之后在进行merge操作时,再把change buffer记录的操作应用到原数据页,这里有几个问题:
1 merge 操作发生时机是?

2 什么情况会利用change buffer 优化更新效率?

3 利用了change buffer后,如果保证数据一致性?

2.4 其他知识点

引用自《丁奇45讲》,更多详细内容可以看《丁奇45讲》

上一篇 下一篇

猜你喜欢

热点阅读