松山湖网站建设公司,网络营销的概念及手段,做旅游宣传哪个网站好,网站推广软件免费版1、在Buffer Pool中读取数据#xff1a;当InnoDB需要更新一条记录时#xff0c;首先会在Buffer Pool中查找该记录是否在内存中。如果没有在内存中#xff0c;则从磁盘读取该页到Buffer Pool中。
2、记录UndoLog#xff1a;在修改操作前#xff0c;InnoDB会在Undo Log中记…1、在Buffer Pool中读取数据当InnoDB需要更新一条记录时首先会在Buffer Pool中查找该记录是否在内存中。如果没有在内存中则从磁盘读取该页到Buffer Pool中。
2、记录UndoLog在修改操作前InnoDB会在Undo Log中记录修改前的数据。Undo Log是用来保证事务原子性和一致性的一种机制用于在发生事务回滚等情况时将修改操作回滚到修改前的状态以达到事务的原子性和一致性。UndoLog的写入最开始写到内存中的然后由1个后台线程定时刷新到磁盘中的。
3、在Buffer Pool中更新当执行update语句时InnoDB会先更新已经读取到Buffer Pool中的数据而不是直接写入磁盘。同时InnoDB会将修改后的数据页状态设置为“脏页”Dirty Page状态表示该页已经被修改但尚未写入磁盘。
4、记录RedoLog BufferInnoDB在Buffer Pool中记录修改操作的同时InnoDB 会先将修改操作写入到 redo log buffer 中。
5、提交事务在执行完所有修改操作后事务被提交。在提交事务时InnoDB会将Redo Log写入磁盘以保证事务持久性。
6、写入磁盘在提交过程后InnoDB会将Buffer Pool中的脏页写入磁盘以保证数据的持久性。但是这个写入过程并不是立即执行的是有一个后台线程异步执行的所以可能会延迟写入总之就是MYSQL会选择合适的时机把数据写入磁盘做持久化。
7、记录Binlog在提交过程中InnoDB会将事务提交的信息记录到Binlog中。Binlog是MySQL用来实现主从复制的一种机制用于将主库上的事务同步到从库上。在Binlog中记录的信息包括事务开始的时间、数据库名、表名、事务ID、SQL语句等。