脏页
【划重点】MySQL技术内幕:InnoDB存储引擎
【划重点】MySQL技术内幕:InnoDB存储引擎说明本⽂绝⼤部分内容来源《MySQL技术内幕:InnoDB存储引擎》⼀书,部分图⽚来源⽹络。#我是搬运⼯#InnoDB 体系结构后台线程InnoDB存储引擎是多线程模型,其后台有多个不同的后台线程,负责处理不同的任务。Master ThreadMaster Thread 主要负责将缓存池中的数据异步刷新到磁盘,保证数据的⼀致性,包括脏页的刷新、合并...
mysql数据落盘详解_MySQL的Flush-List和脏页的落盘机制
mysql数据落盘详解_MySQL的Flush-List和脏页的落盘机制⼀、回顾MySQL启动后Buffer Pool会初始化。Buffer Pool也会初始化好N多个空⽩的缓存页,以及它们的描述数据会被组织成LRU链表以及FreeList 双向链表。这时你从磁盘中读取⼀个数据页,会先从Free List中出⼀个空闲缓存页的描述信息,然后将你读出的数据页中加载进缓存页中。同时将缓存页的描述信息从...
《MySQL45讲》读书笔记(三):内存数据刷盘机制
《MySQL45讲》读书笔记(三):内存数据刷盘机制此⽂为极客时间:MySQL实战45讲的12节的学习笔记⼀、mysql 的刷盘机制⽽之前提到过,mysql 使⽤了 WAL 技术,即更新的时候先更新内存中的数据,然后必要的时候再将内存中的数据刷⼊磁盘。我们把内存中这些被修改过,跟磁盘中的数据页不⼀致的数据页称为脏页。其中,有四种情况会触发脏页的刷盘:1. redo log 可写空间满了。2. 内存...
MySQL——update语句执行流程
MySQL——update语句执⾏流程图1 update语句执⾏流程1. 从 Buffer Pool(内存中) 中查看是否有这条数据,没有就从磁盘中加载到缓冲池,然后对这⾏记录加独占锁;2. 把更新⾏记录的旧值写⼊ undo log(以便回滚);3. 更新 Buffer Pool 中的数据(成脏数据);4. 执⾏器把对数据的修改情况写⼊ redo log 中(内存中) ;5. 准备提交事务时(pr...