GBase8g向GBase8s数据库进行迁移
背景
因业务需求,需要将以往项目使用的GBase8g数据库中的数据,迁移到Gbase8s数据库中。在此记录迁移遇到的一些问题和解决方法。
目标
将GBase8g的数据成功迁移到GBase8t后,原有程序功能可以正常运行
问题列表
自定义排序
1、问题描述:
由于业务需求,需要将某个字段根据自定义顺序进行排序。
例如:数据中filedA的值保存为1,2,3数值形式,但页面上要以1,3,2的顺序进行展示
在GBase8g中可以使用order by Filed(字段,1,3,2)的方法进行自定义排序,但迁移后在GBase8s中无法使用这样的方法。
2、解决方法:
可以引用临时表的方法来实现该需求。
建排序临时表“sort_table”,定义字段:sort_seq排序号,sort_name排序字段。
将需要自定义的排序顺序保存到sort_name中,对应的sort_seq写实际的顺序
例如:
sort_name sort_seq
1 1
3 2
2 3
使用:join sort_table st on 字段=st.sort_name order by st.sort_seq的方式来实现自定义排序
distinct 数据内容
1、问题描述:
在原有系统中,初始设计简单,没有考虑sql优化问题,数据查重直接使用如下语句
select distinct * from 表A where XXX;
其中表A包含blob,text等大对象字段。GBase8s对sql要求严格,distinct 大对