MySQL中InnoDB的双写缓存存在的意义是什么?

MySQL中InnoDB的双写缓存存在的意义是什么?


MySQL
InnoDB
2023-11-14 14:07:41
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
花鸟吹雪

用于避免刷新脏页的时候只写入一半造成数据混乱。

InnoDB 的数据页大小往往和系统的数据页大小不一致,有可能 InnoDB 为 16k,系统的为 4k,InnoDB 刷新一个数据页,系统要刷新 4 个,这就意味着在系统宕机的时候有可能只刷新了一半的数据页。

双写缓冲技术,会先把要刷新的数据写入共享表空间,然后再刷新到对应系统页,如果在这个过程中系统崩溃,InnoDB 就可以从共享表空间获取到要刷新的数据,然后重新执行。

当然,如果操作系统可以保证数据一致性,不会只刷一半,那就可以关闭双写缓冲

分享
微博
QQ
微信
回复
2023-11-14 16:15:02
相关问题
abilityslice意义是什么
9120浏览 • 3回复 待解决
MySQLinnodb锁有知道吗?
494浏览 • 1回复 待解决
Mysql索引是什么结构?
859浏览 • 1回复 待解决
分库分表 MySQL 方案存在什么缺点?
1915浏览 • 2回复 待解决
redis List 操作是什么
1042浏览 • 1回复 待解决
InnoDB什么需要自适应Hash索引?
647浏览 • 1回复 待解决
innodb,空列会占用存储吗?
922浏览 • 1回复 待解决
MongoDB分片是什么意思?
1587浏览 • 1回复 待解决
性能优化组件复用原理是什么
170浏览 • 1回复 待解决
本地缓存和分布式缓存什么不同?
949浏览 • 1回复 待解决