database compatibility assessment

MYSQL ALTER TABLE ALGORITHM= / LOCK= 在线 DDL 子句 迁移 oceanbase 4.3 mysql 模式 怎么改

迁衡基于规则 my.ddl.alter_algorithm 分析 MYSQL ALTER TABLE ALGORITHM= / LOCK= 在线 DDL 子句 到 oceanbase 4.3 mysql 模式 的兼容性、改写路径与验证建议。

兼容性判定

真机验证:oceanbase 4.2.5.7 · OB DDL 在线执行;ALGORITHM/LOCK 子句解析兼容但语义不同 |实测2026-07-09(v4.2.5.7,172.16.0.146): ALTER ... ALGORITHM=INPLACE/INSTANT,LOCK=NONE 实测被拒(1064),非解析兼容
支持度none
严重度minor
置信度high
依据规则my.ddl.alter_algorithm

怎么改

需按命中位置逐条评估改写

判定说明

OB DDL 在线执行;ALGORITHM/LOCK 子句解析兼容但语义不同 |实测2026-07-09(v4.2.5.7,172.16.0.146): ALTER ... ALGORITHM=INPLACE/INSTANT,LOCK=NONE 实测被拒(1064),非解析兼容

库侧 / 应用侧路径

库侧改造

需人工确认改造边界

应用侧改造

需人工确认改造边界

推荐路线:case_by_case。验证建议:在线 DDL 控制子句与存储引擎绑定;OB 的 DDL 本身在线执行(子句语义不同),PG 系无此语法——发布脚本/变更工单模板需批量清理

规则样例

ALTER TABLE t ADD COLUMN c INT, ALGORITHM=INPLACE, LOCK=NONE
ALTER TABLE t DROP INDEX idx_a, ALGORITHM=INSTANT
ALTER TABLE t ADD COLUMN c INT