理解 performance_schema.replication_group_member_stats表中 COUNT_TRANSACTIONS_ROWS_VALIDATING 列 含义。
COUNT_TRANSACTIONS_ROWS_VALIDATING 列表示冲突检测数据库的大小。该表和列记录在《参考手册》中:
https://dev.mysql.com/doc/refman/en/group-replication-replication-group-member-stats.html
https://dev.mysql.com/doc/refman/en/replication-group-member-stats-table.html
参考文献来看,描述是: 可用于认证但尚未进行垃圾收集的事务行数
因此,数据库将保持增长,直到垃圾收集开始(稍后会更多)。
数据库用于验证是否可以在组/集群的所有成员上提交事务。这是通过包含由给定GTID更新的表和行的主键的信息来实现的。这种组合存储在冲突检测数据库中。冲突解决数据库的大小是受冲突解决影响的主键的数量——这也就是 COUNT_TRANSACTIONS_ROWS_VALIDATING 。
在两次垃圾收集之间,冲突解决数据库的大小自然会增长。每次提交事务时都会发生这种增长。
垃圾收集将每60秒从冲突解决中清除一次事务。一旦满足以下条件,就可以从冲突解决数据库中删除GTID:
- 事务已在所有组成员上提交
- 冲突解决数据库中不存在在该事务之前提交的其他事务
所以你应该能看到 COUNT_TRANSACTIONS_ROWS_VALIDATING 增长,每分钟减少一次(不一定减少到零)。