数据迁移:
部分表主键类型更改:由String改成Long
问题:将String类型修改成Long类型后,如何兼容老用户:
增:直接走心接口即可
删改查:需要提供两个接口,String走老接口 ,Long走新接口
数据库新技能get:
水平拆分:uid/100,拆成100张新表,按uid/100的值把全部数据分这100张新表中
查询表中某varchar类型字段长度:length(pic_path)
条件查询:查询时尽可能把能过滤多的条件放前面
数据库建表技能get:
1.`gender` char(1) NOT NULL,改成:
`gender` tinyint(1) NOT NULL,
2.支持emoji:
`baby_name` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL,
ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8mb4_unicode_ci;
3.`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,改成:
`create_time`datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
4.`type` tinyint(4) NOT NULL DEFAULT '0',改成:
`type` tinyint(1) NOT NULL DEFAULT '0',
5.尽量写备注:
`is_deleted` tinyint(1) DEFAULT '0' COMMENT ‘是否删除:0.为删除,1.已删除’,—默认为0
Wiki技能get:
HTTP请求方式(常用):GET POST PUT DELETE
HEADER
PARAM
BODY
RESPONSE
例如:
数据迁移知识get:
一般分三步:
1.新接口,新DB
2.数据迁移
创建中间表,建立老表数据与新表数据的对应
估计数据量:
1.数值(去污点)
2.趋势(去掉与数值污点有关系的趋势污点)比如周三数据是污点,那周二到周三,周三到周四的都是趋势污点
3.兼容老用户
任务:
新表设计:
表结构设计:新增字段,修改已有字段类型,删除无用字段
新接口API设计:
Wiki书写:揪接口添加新版本Wiki,新接口Wiki书写
数据迁移方案:
在一个时间把老表数据一起迁移到新表,之后采用定时任务定时把老表数据迁移到新表