互联网服务MySQLinnodb引擎

binlog,redolog这2个在innodb引擎中的写入顺序?

一个插入数据的操作,在innodb中,这个日志的记录顺序是啥?、是先写binlog 然后再写redo log 吗??显示全部

一个插入数据的操作,在innodb中,这个日志的记录顺序是啥?、

是先写binlog 然后再写redo log 吗??

收起
参与8

查看其它 1 个回答y18511664518的回答

y18511664518y18511664518技术总监长城超云

首先,binlog会记录所有与MySQL数据库有关的日志记录,包括InnoDB、MyISAM、Heap等其他存储引擎的日志。
而InnoDB存储引擎的重做日志只记录有关该引擎本身的事务日志。
其次,记录的内容不同。无论用户将binlog文件记录的格式设为STATEMENT还是ROW,又或是MIXED,其记录的都是关于一个事务的具体操作内容,即该日志是逻辑日志。而InnoDB存储引擎的重做日志是关于每个页(Page)的更改的物理情况。
此外,写入的时间也不同。binlog文件仅在事务提交后进行写入,即只写磁盘一次,不论这时该事务多大。而在事务进行的过程中,却不断有重做日志条目(redo entry)被写入到重做日志文件中。
由此可见,redo log仅仅是innodb存储引擎的一个功能,而binlog才是对应oracle的redo log.

金融其它 · 2017-07-21

回答者

y18511664518
技术总监长城超云
擅长领域: 数据库存储关系型数据库

y18511664518 最近回答过的问题

回答状态

  • 发布时间:2017-07-21
  • 关注会员:3 人
  • 回答浏览:2475
  • X社区推广