• binzhang
    2024-11-07 来自美国
    Some questions: 1) when do delete or insert, why mysql need to save a copy of PK data in undo segment. is it duplicated or just used as undo entry cksum? 2) in your past experience, how many percent of mysql database still use repeatable-read as default consistency level?

    作者回复: 第一个问题: Undo日志都是逻辑日志,通过主键值来定位数据。 delete时,会给记录打上删除标记。如果事务要回滚,从undo段中找到记录的主键值,然后再定位记录,取消删除标记。 对于insert的记录,如果事务要回滚,从undo段中找到新插入的记录的主键值,然后再定位记录,进行删除。 第二个问题: 这个比例不好估算,不同的企业可能会有不同的选择。 从另外一个角度,可以看一下头部的几家云厂商提供的MySQL RDS是怎么设置默认的隔离级别的。 我看了下aliyun、tencent提供的MySQL 8.0,默认用了read committed。huaweicloud默认是repeatable-read,但是可以选择不同的参数模版。

    
    1