mysql-调用执行引擎【innodb版】

一条sql【如:updata语句】语句丢到执行引擎后
1先—查看Buffer pool中有没有数据,没有的话就从磁盘ibd文件夹中加载整页数据到buffer pool中
2把要改的一页数据加载到buffer pool中,在做修改数据之前,把旧数据写到undo log回滚日志中去【保证事务的原子性】
3更新buffer pool中的数据
4写redo log日志【redo log buffer】提升效率
5redo日志顺序写入磁盘,准备提交事务【redo重做日志文件】【物理修改:记录哪里修改,修改什么东西】
6准备提交事务binlog日志写入磁盘【binlog归档日志文件】【逻辑修改】
7写入commit标记到redo日志文件里【磁盘雨鞋机制WAL机制】,提交事务完成,该标记为了保证事务提交后redo log与binlog数据一致
8在系统空闲的时候随机写入磁盘,一page为单位写入磁盘

你可能感兴趣的:(MySQL,mysql,数据库,java)