用于避免刷新脏页的时候只写入一半造成数据混乱。 InnoDB 的数据页大小往往和系统的数据页大小不一致,有可能 InnoDB 为 16k,系统的为 4k,InnoDB 刷新一个数据页,系统要刷新 4 个,这就意味着在系统宕机的时候有可能只刷新了一半的数据页。 双写缓冲技术,会先把要刷新的数据写入共享表空间,然后再刷新到对应系统页,如果在这个过程中系统崩溃,InnoDB 就可以从共享表空间获取到要刷新的数据,然后重新执行。 当然,如果操作系统可以保证数据一致性,不会只刷一半,那就可以关闭双写缓冲
用于避免刷新脏页的时候只写入一半造成数据混乱。
InnoDB 的数据页大小往往和系统的数据页大小不一致,有可能 InnoDB 为 16k,系统的为 4k,InnoDB 刷新一个数据页,系统要刷新 4 个,这就意味着在系统宕机的时候有可能只刷新了一半的数据页。
双写缓冲技术,会先把要刷新的数据写入共享表空间,然后再刷新到对应系统页,如果在这个过程中系统崩溃,InnoDB 就可以从共享表空间获取到要刷新的数据,然后重新执行。
当然,如果操作系统可以保证数据一致性,不会只刷一半,那就可以关闭双写缓冲