TiDB中 不支持存储过程和触发器,业务中有大量复杂逻辑依赖存储过程,迁移时大佬们有没有什么推荐的重构方案
1 个赞
方案 1:应用层重写(长期最优,性能最高)
把存储过程逻辑全部上移到应用层(Java/Go),用 MyBatis/JPA 写 SQL,事务 / 锁 / 重试在代码里控制。
方案 2:AI 工具批量转换(工作量减少 70%)
用平凯 TMS、TiDB 社区脚本、开源 PL/SQL 转 Java 工具,自动把存储过程转成Java+MyBatis代码。
方案 3:MySQL+TiDB 双写(零改动,先迁移)
保留原 MySQL 跑存储过程,TiDB 做从库,DM 同步,业务读切 TiDB、写留 MySQL。
1 个赞
统计信息准确度决定优化器选择质量。