- 博客(3)
- 收藏
- 关注
原创 MySQL中的InnoDB一次update执行
先摆好一次select执行的图。 为什么标题是update却要摆放select执行的图? 首先要知道update修改数据并不是直接修改表中的数据,而是修改在内存中的数据页。而内存中的数据页是由执行器调用引擎接口加载到内存中的,这一部分跟select是一模一样的,所以直接复用一次select执行时的图。 与select的不同在什么地方? 执行器再找到数据后还有负责更新。这个更新就是修改再内...
2020-04-05 23:21:39 598
原创 MySQL中RR级别下的MVCC
众所周知MySQL中InnoDB的可重复读是通过MVCC实现的。 MVCC是由哪些元素构成? MVCC的读 又叫快照读,在MySQL中不可能把整个表的数据拷贝一份来提供这个快照。它通过 1、undolog InnoDB增删数据时除了redo log外还会记录undo log。 以update举例: undolog->修改内存中...
2020-04-04 18:28:35 1789 2
原创 MySQL中的InnoDB一次select执行
学习MySQL 45讲后一些梳理。 图中是 一次 select 的执行大致流程。 连接器:负责跟客户端连接,并且连接器会到权限表里面查出你拥有的权限。此后此连接的权限都依赖此次查询,即使修改以后也要重新连接才会生效。 缓存:SQL作为key的一个缓存,如果开启缓存,并且缓存中有数据(且判定有表的操作权限)则直接返回。DML(insert/update/delete)语句会使缓存失效。8....
2020-04-04 16:08:04 664
空空如也
领域驱动 聚合 内存限制
2022-08-26
TA创建的收藏夹 TA关注的收藏夹
TA关注的人