MySQL的修改创建,涉及到写的东西,他们都会涉及两个重要的日志模块,redo log(重做日志)和 binlog(归档日志)。
redo log
在 MySQL 里也有这个问题,如果每一次的写操作都需要写进磁盘,然后磁盘也要找到对应的那条记录,然后再更新,整个过程 IO 成本、查找成本都很高。为了解决这个问题,MySQL 的设计者使用了redo log日志
redo log是InnoDB 引擎所特有的,当有些动作时,会先把记录写到 redo log文件里面,这个时候更新就算完成了。同时,InnoDB 引擎会在适当的时候,将这个操作记录更新到磁盘里面。因为如果直接往磁盘上记录数据的话,会面临很多问题,我们数据库读取磁盘是按页来读取的,