MYSQL的存储引擎

78 阅读1分钟

Mysql默认的存储引擎是 INNODB(支持事务)

事务:是一组操作的集合,它是一个不可分割的工作单元,这些操作要么同时成功,要么同时失败

四大特性 ACID:原子性,一致性,隔离性,持久性

隔离级别:读未提交,读已提交,可重复读(mysql默认),串行化

事务原理:

原子性(undo log),一致性,持久性(redo log)

隔离性(锁,MVCC)

redo log保证事务的持久性(记录的是事务提交时数据页的物理修改,记录的是数据)

redo log由两部分组成:redo log buffer(重做日志缓冲区,存放在内存中) ,redo log file(重做日志文件,存放在磁盘)

commit到Buffer Pool(随机IO到磁盘)->redo log buffer(追加的方式刷到磁盘)

undo log(记录数据修改前的信息,记录的是操作相反的sql命令)(作用:提供回滚和MVCC多版本并发控制)