• 技术文章 >数据库 >MySQL

    mysql中WAL机制的理解

    小妮浅浅小妮浅浅2021-08-20 18:01:31原创3678

    1、WAL预写日志系统。数据库中的高效日志算法,对于非内存数据库来说,磁盘I/O操作是数据库效率的一个重要瓶颈。

    在相同的数据量下,使用WAL日志的数据库系统提交业务时,磁盘写作操作只有传统滚动日志的一半左右,大大提高了数据库磁盘I/O操作的效率,从而提高了数据库的性能。

    2、使用WAL的原因,是因为磁盘的写作操作是随机io,比较耗性能

    所以如果每次更新操作都先写入log,那么就成了顺序写作操作,实际更新操作是由后台线程再根据log异步写入。因此,对client端来说,延迟会减少。而且,由于顺序写入的可能性很大,因此产生的io次数也会大大降低。因此,WAL的核心就是把随机写作变成顺序写作,减少客户端的延迟,增加吞吐量。

    WAL三原则

    日志成功写入后,事务不会丢失,后续由checkpoint机制保证磁盘物理文件与redolog的一致性;

    使用redolog记录变更后的数据,即在redo中记录变更后的事务数据值;

    使用undolog记录变更前的数据,即在undo中记录变更前的事务数据值,用于阅读滚动和其他多版本的事务。

    以上就是mysql中WAL机制的理解,希望对大家有所帮助。更多mysql学习指路:MySQL

    推荐操作系统:windows7系统、mysql5.8、DELL G3电脑

    专题推荐:mysql wal
    上一篇:mysql表级锁的两种模式 下一篇:mysql spring事务的特性

    相关文章推荐

    • mysql内连接是什么• mysql内连接查询的两种类型• mysql外连接查询如何理解• mysql外连接有哪些类型• mysql中limit的使用方法• mysql读写分离的两种实现• mysql主从复制策略的介绍• mysql limit分页过慢的解决• mysql表级锁的两种模式

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网