天天看点

MySQL的两个日志redo log和 binlog

mysql的修改创建,涉及到写的东西,他们都会涉及两个重要的日志模块,redo log(重做日志)和 binlog(归档日志)。

redo log

在 mysql 里也有这个问题,如果每一次的写操作都需要写进磁盘,然后磁盘也要找到对应的那条记录,然后再更新,整个过程 io 成本、查找成本都很高。为了解决这个问题,mysql 的设计者使用了redo log日志

redo log是innodb 引擎所特有的,当有些动作时,会先把记录写到 redo log文件里面,这个时候更新就算完成了。同时,innodb 引擎会在适当的时候,将这个操作记录更新到磁盘里面。因为如果直接往磁盘上记录数据的话,会面临很多问题,我们数据库读取磁盘是按页来读取的,

继续阅读