MYSQL 生成列(GENERATED ALWAYS AS ... VIRTUAL/STORED) 迁移 OceanBase 4.3.5 MySQL 模式 适配说明

迁衡基于规则 my.ddl.generated_column 分析 MYSQL 生成列(GENERATED ALWAYS AS ... VIRTUAL/STORED) 到 OceanBase 4.3.5 MySQL 模式 的兼容性、改写路径与验证建议。

兼容性判定

公开资料依据 · 建议 PoC 复核
支持度partial
严重度major
置信度medium
依据规则my.ddl.generated_column

迁移建议

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

判定说明

支持生成列;表达式函数白名单限制,逐表核对

库侧 / 应用侧路径

库侧改造

可行:VIRTUAL 改 STORED 生成列或视图;生成表达式函数兼容面逐个核对

应用侧改造

可行:生成逻辑上移应用层写入时计算

推荐路线:db_side。验证建议:生成值全量抽样比对;STORED 化后的存储增量与写放大评估

规则样例

CREATE TABLE t (price DECIMAL(10,2), qty INT, total DECIMAL(12,2) GENERATED ALWAYS AS (price*qty) STORED)
ALTER TABLE t ADD name_upper VARCHAR(50) AS (UPPER(name)) VIRTUAL

参考来源

相关改造点

技术支持

微信交流群 微信二维码

微信:prejudice_me