合集-图解MySQL

摘要:MySQL 磁盘 I/O 次数过高时优化的办法 事务提交时,需要将 Redo Log 和 Binlog 持久化到磁盘中,可以通过四个参数,来控制刷盘时机,以降低磁盘 I/O 的频率。 组提交的两个参数 binlog_group_commit_sync_delay:控制事务提交前的最大等待时间。 bi 阅读全文
posted @ 2025-02-22 11:27 SlackClimb 阅读(73) 评论(0) 推荐(0)
摘要:​ Buffer Pool 什么是 Buffer Pool? Buffer Pool 是数据库管理系统(DBMS)中的一块 Cache(内存区域),用来缓存从磁盘中读取到的 Data Pages(数据页)。Data Pages 通常是表中的数据行与索引数据,通过缓存 Data Pages,Buffe 阅读全文
posted @ 2025-02-19 22:04 SlackClimb 阅读(89) 评论(0) 推荐(0)
摘要:​ Redo Log(重做日志) 为什么需要 Redo Log? 1. 崩溃恢复 数据库崩溃时,系统通过 Redo Log 来恢复尚未写入磁盘的数据。Redo Log 记录了所有已提交事务的操作,系统在重启后会重做这些操作,以保证数据不会丢失。 ​ 编辑 2. 提高性能 使用 Redo Log 可以 阅读全文
posted @ 2025-02-21 23:04 SlackClimb 阅读(200) 评论(0) 推荐(0)
摘要:Binlog(Binary Log,归档日志) 为什么需要 Binlog? Binlog 是 MySQL 中的二进制日志,用于记录数据库的所有写操作(INSERT、UPDATE、DELETE 等) 1. 主从复制 作用:是 MySQL 主从复制的核心,主库将 Binlog 发送给从库,从库重放这些操 阅读全文
posted @ 2025-02-21 23:08 SlackClimb 阅读(352) 评论(0) 推荐(0)
摘要:两阶段提交 为什么需要两阶段提交? 事务提交后,Redo Log 和 Binlog 都要持久化到磁盘中,但是这两个是独立的逻辑,可能会出现半成功状态,造成两种日志之间的逻辑不一致。 1.1. 半成功状态 Redo Log 成功持久化,而 Binlog 失败 如果在将 Redo Log 刷入到磁盘后, 阅读全文
posted @ 2025-02-22 11:22 SlackClimb 阅读(419) 评论(0) 推荐(0)