阶段1: Initialization初始化
在初始化阶段,服务器将考虑存储引擎功能、语句中指定的操作以及用户指定的ALGORITHM和LOCK选项,确定操作期间允许多少并发性。在此阶段,使用一个共享的可升级元数据锁来保护当前表定义。
阶段2:Execution执行
在这个阶段,语句是准备和执行的。元数据锁是否升级为排他锁取决于初始化阶段评估的因素。如果需要独占元数据锁,则只在语句准备期间短暂地使用它。
阶段3:Commit Table Definition 提交表定义
在提交表定义阶段,元数据锁升级为排他锁,以排除旧表定义并提交新表定义。一旦授予,独占元数据锁的持续时间就会很短
