中分析并验证了MySQL进行在线创建索引时,不会因为执行时间过长或业务压力较大,在回放增量DML时加锁时间过久而对业务造成严重影响,本文从MySQL 8.0.19源码出发,分析MySQL是如何实现的。同时也确认是否在回放DML时会报duplicate key。
核心处理流程和对象
增量DML处理流程主要在http://row0log.cc中。
/** @file row/row0log.cc
Modification log for online index creation and online table rebuild
Created 2011-05-26 Marko Make