MySQL实战45讲中的部分sql

1.

1



2.两阶段提交

与查询流程不一样的是,更新流程还涉及两个重要的日志模块,它们正是我们今天要讨论的主角:redo log(重做日志)和 binlog(归档日志)。如果接触MySQL,那这两个词肯定是绕不过的,我后面的内容里也会不断地和你强调。不过话说回来,redo log和binlog在设计上有很多有意思的地方,这些设计思路也可以用到你自己的程序里。




26 | 备库为什么会延迟好几个小时?

20241219

taskon 从库cpu 因为查询问题,cpu经常被打满, 从而会导致复制主库的数据出现延迟…

https://cloud.tencent.com/document/product/236/48834

  • slave_parallel_workers

  • slave-parallel-type


  • binlog_group_commit_sync_delay参数,表示延迟多少微秒后才调用fsync;

  • binlog_group_commit_sync_no_delay_count参数,表示累积多少次以后才调用fsync。

为此学习了第26节

介绍了MySQL的各种多线程复制策略。

为什么要有多线程复制呢?这是因为单线程复制的能力全面低于多线程复制,对于更新压力较大的主库,备库是可能一直追不上主库的。从现象上看就是,备库上seconds_behind_master的值越来越大。

从这些分析中,你也会发现大事务不仅会影响到主库,也是造成备库复制延迟的主要原因之一。因此,在平时的开发工作中,我建议你尽量减少大事务操作,把大事务拆成小事务。