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