-
Notifications
You must be signed in to change notification settings - Fork 55
binlog_transaction_dependency_tracking
xiaoboluo768 edited this page Jun 14, 2020
·
2 revisions
- 控制事务依赖模式,让从库根据主库写入binlog中的 commit timestamps 或者 write sets 并行回放事务(引入该参数之后,binlog的格式记录的内容中增加了时间戳和write sets信息)
- 有三个取值:
- COMMIT_ORDERE:使用 5.7 本来就支持的Group commit 的方式决定事务依赖
- WRITESET:使用 WriteSet 的方式决定判定事务直接的冲突,发现冲突则依赖冲突事务,否则按照 COMMIT_ORDERE 方式决定依赖
- WRITESET_SESSION:在 WRITESET 方式的基础上,保证同一个 session 内的事务不可并行
- 全局变量,动态变量,枚举类型,默认值COMMIT_ORDER,有效值:COMMIT_ORDER、WRITESET、WRITESET_SESSION,MySQL 5.7.22 版本引入(>=8.0.1)
- PS:
- WRITESET 是一个 hash 数组,大小由参数 binlog_transaction_dependency_history_size 决定,参数 transaction_write_set_extraction 决定 hash 算法,可选值:OFF、MURMUR32、XXHASH64,默认值 XXHASH64,如果WriteSet 记录了事务的更新行信息,决定 commit_parent时,使用事务自己的 session WriteSet 和 history WriteSet 进行比对,找到最近的冲突行,设为 commit_parent。如果 WriteSet 找不到 commit_parent,则还是使用 COMMIT_ORDERE 决定 commit_parent
- 如果transaction_write_set_extraction为OFF,则binlog_transaction_dependency_tracking变量的值只能设置为COMMIT_ORDER,设置其他值会报错。另外,如果binlog_transaction_dependency_tracking的当前值为WRITESET或WRITESET_SESSION,则无法更改transaction_write_set_extraction的值
- 有三个取值:
上一篇:log_output | 下一篇:innodb_buffer_pool_size
-
本 WIKI 包含了《千金良方--MySQL 性能优化金字塔法则》一书的代码段加粗命令行命令和SQL语句文本、以及4个附录内容,其中:
- 代码段和高清图单独整理为一个系列文档,如下:
- 每个附录都各自整理成了一个小系列文档,如下:
-
《千金良方--MySQL 性能优化金字塔法则》 一书的作者信息如下:
- 李春、罗小波、董红禹
-
联系人QQ:309969177
-
提示:
-
郑重声明:本WIKI仓库中的资料为电子工业出版社与本书的三位作者共同授权开源,为了在方便大家的同时,避免不必要的纠葛,任何商业与非商业的引用、转载,麻烦大家注明出处,谢谢配合!