ホームページ > データベース > mysql チュートリアル > 为什么MySQL引入Double Writer_MySQL

为什么MySQL引入Double Writer_MySQL

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-06-01 13:28:37
オリジナル
1041 人が閲覧しました

bitsCN.com

为什么MySQL引入Double Writer
 

㈠ 是什么

   

   double writer是ibdata1(共享表空间)里面的一块连续空间

   BTW:为什么取名时叫buffer呢?难道一切缓冲写都叫buffer,加速读叫cache,哈哈

   

㈡ 为什么需要

   

   redo有效应用的前提是data的一致性,当data flush到磁盘时发生故障,比如16K只写了4K

   并且redo条目是change vector形式,属于逻辑记录,那么在InnoDB recovery时,redo就不知道从哪开始跑起

   简言之,就是为了解决部分写问题(partial page write)

   

㈢ 影响性能吗

   

   第一阶段,data写到double writer buffer属于顺序IO,节省IO开销

   第二阶段,因为double writer buffer积累了很多dirty page,再写向真正的位置时有可能合并,减少fsync()次数

   故,对性能影响不大

   

㈣ 相关参数

   

   ① show variables like '%double%';

   ② show status like '%innodb_dblwr%'; bitsCN.com

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート