闲杂小记(五)

    xiaoxiao2025-05-04  44

    数据迁移:

    部分表主键类型更改:由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

    例如:

    获取精选影集列表 -- api/v1/album/top

    【模式】GET【HTTP HEADER】 Long BP-User-Id -- 用户id 【URL Query参数】 Long offset -- 偏移量int limit -- 获取个数 【BODY JSON对应数据类型】无【返回JSON对应数据类型】WaterFallPage->AlbumDTO

    数据迁移知识get:

    一般分三步:

    1.新接口,新DB

    2.数据迁移   

    创建中间表,建立老表数据与新表数据的对应

    估计数据量:

    1.数值(去污点)

    2.趋势(去掉与数值污点有关系的趋势污点)比如周三数据是污点,那周二到周三,周三到周四的都是趋势污点

    3.兼容老用户

    任务:

    新表设计:

    表结构设计:新增字段,修改已有字段类型,删除无用字段

    新接口API设计:

    Wiki书写:揪接口添加新版本Wiki,新接口Wiki书写

    数据迁移方案:

    在一个时间把老表数据一起迁移到新表,之后采用定时任务定时把老表数据迁移到新表

    转载请注明原文地址: https://ju.6miu.com/read-1298757.html
    最新回复(0)