数据库

注册

 

发新话题 回复该主题

MySQL三大日志及事务隔离级别 [复制链接]

1#
一、MySQL核心日志模块1、redolog(重做日志)

redolog也称为事务日志由InnoDB存储引擎层产生。记录的是数据库中每个页的修改,而不是某一行或某几行修改成怎样,可以用来恢复提交后的物理数据页(恢复数据页,且只能恢复到最后一次提交的位置,因为修改会覆盖之前的)。当有一条记录需要更新的时候,InnoDB引擎就会先把记录写到redolog里面,并更新内存,这个时候更新就算完成了。同时,InnoDB引擎会在适当的时候,将这个操作记录更新到磁盘里面,而这个更新往往是在系统比较空闲的时候做。Redolog顺序写,可以组提交,还有其他优化,性能高。(实质也是磁盘文件)

1)redolog三种状态分别是:

存在redologbuffer中,物理上是在MySQL进程内存中;

写到磁盘(write),但是没有持久化(fsync),物理上是在文件系统的pagecache里面,

持久化到磁盘,对应的是harddisk。

事务在执行过程中,生成的redolog是要先写到redologbuffer的。日志写到redologbuffer是很快的,wirte到pagecache也差不多,但是持久化到磁盘的速度就慢多了。

2)redolog的写入策略

InnoDB提供了innodb_flush_log_at_trx_

分享 转发
TOP
发新话题 回复该主题