doc: 阅读mysql mvcc文档

This commit is contained in:
asahi
2025-08-13 17:08:13 +08:00
parent 49fb828650
commit b90bb79459

View File

@@ -61,4 +61,11 @@ purge操作在后台由一个或多个purge threads执行。purge threads的数
`innodb_max_purge_lag`的默认值为0代表默认不存在max purge lag。
## Multi-Versioning and Secondary Indexes
在mvcc中对待聚簇索引和辅助索引的方式不同。在聚簇索引中record中的列是`update in-place`并且其hidden system columns指向undo log records通过undo log records可以还原数据的先前版本。
但是辅助索引不包含hidden system columns并且对于辅助索引的更新也不是update in-place。
当辅助索引的column被更新时旧的辅助索引记录将会被标记为delete marked并且插入新的辅助索引记录。`delete marked index records`最终会被purge。
当辅助索引中的index record被`delete marked``辅助索引页被newer transaction(更新的事务)更新时innodb将会在聚簇索引中查询记录`