并发
- 分类
- 分布式系统
- 难度
- 未设置
- 来源数
- 1
- 更新时间
- 2026/03/29 00:57
答案
1. 磁盘IO次数多:两阶段提交中,redo log 和binlog分别会将自己写入对应的缓存中,而一般为了保证数据不丢失,会将这两个缓存的控制状态设为1,也就是redo log每次事务提交的时候都刷盘,binlog每当写入binlog cache的时候都刷盘,相当于一次事务提交需要两次刷盘操作,io次数自然就高了。 2. 锁竞争激烈:在MySQL的早期版本中,是使用锁来保证多线程事务提交的有序性,而随着并发量的提升,锁竞争激烈,导致性能下降。
相关题目(5)
什么是热点 key,如何处理?共源 1
分布式系统Redis
watch dog 机制是什么?共源 1
分布式系统并发锁Redis
Redis 如何实现分布式锁?共源 1
分布式系统锁Redis
分布式系统并发Redis
元信息
审核状态: active
关联来源: 1
来源面经题(0)
这道题目前没有手动沉淀的面经题来源。
来源(1)
Java八股(数据库).md
knowledge_noteQuestion 73: MySQL 两阶段提交有什么问题?
Source answer: 1. 磁盘IO次数多:两阶段提交中,redo log 和binlog分别会将自己写入对应的缓存中,而一般为了保证数据不丢失,会将这两个缓存的控制状态设为1,也就是redo log每次事务提交的时候都刷盘,binlog每当写入binlog cache的时候都刷盘,相当于一次事务提交需要两次刷盘操作,io次数自然就高了。 2. 锁竞争激烈:在MySQL的早期版本中,是使用锁来保证多线程事务提交的有序性,而随着并发量的提升,锁竞争激烈,导致性能下降。
Reviewed answer: 主要问题有两点:一是 redo log 和 binlog 分别刷盘,磁盘 IO 次数多;二是早期版本为保证提交有序性存在锁竞争,导致并发性能下降。