V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
yasumoto
V2EX  ›  程序员

今天对接的一个公司 看到接口文档我惊了

  •  1
     
  •   yasumoto · 2021-03-15 11:01:00 +08:00 · 23212 次点击
    这是一个创建于 1383 天前的主题,其中的信息可能已经有所发展或是发生改变。
    居然还有这种操作 备注字段 12345678910 (笑 cry )

    https://i.loli.net/2021/03/15/dnpyGJEbXekCr51.png
    138 条回复    2021-03-17 11:17:25 +08:00
    1  2  
    ervqq
        101
    ervqq  
       2021-03-16 08:45:05 +08:00
    我司货品表都有 30 个
    VictorJing94
        102
    VictorJing94  
       2021-03-16 08:54:57 +08:00
    erp 表
    dotw2x
        103
    dotw2x  
       2021-03-16 09:03:54 +08:00
    见过一些 Sass 系统,为了扩展,少改系统少更新,attr1,attr2.....attrN,挺好用的(手动狗头)
    RyanOne
        104
    RyanOne  
       2021-03-16 09:09:40 +08:00
    我们这 对接 cdc 的 那文档像这种字段 一个接口里面有 30 多个
    ichou
        105
    ichou  
       2021-03-16 09:09:46 +08:00 via iPhone
    不懂就问:千万的表加个字段会咋滴?
    就数据库而言,千万挺小的吧
    lvtuyukuai
        106
    lvtuyukuai  
       2021-03-16 09:11:44 +08:00
    少见多怪
    Ssskyl
        107
    Ssskyl  
       2021-03-16 09:18:50 +08:00
    这很正常,使用第三方服务的时候,这种额外预留的字段给客户
    DivineRapierH
        108
    DivineRapierH  
       2021-03-16 09:22:23 +08:00
    PostgreSQL 的 jsonb 是真好用呀,性能也不差。
    encro
        109
    encro  
       2021-03-16 09:30:28 +08:00
    有时候可以做为动态字段设计,比如设计一个 product 表,product 的 custom_field 所代表的意义会根据分类变化。
    又比如 crm 的 custom 字段,很多都是终端用户自定义的,这时候可能就是 contact.custom_field1,contact.custom_field2 这样的命名。

    @redtea
    @yanulg

    Mysql online DDL 不锁表增加字段和索引方法 https://c4ys.com/archives/1943
    starcraft
        110
    starcraft  
       2021-03-16 09:31:15 +08:00
    关系型有这种也太正常了。还有这种设计也从来不是什么不合理的设计。
    就和数据库理论学习各种范式,而实际数据库设计有冗余字段一样。
    sjzzz
        111
    sjzzz  
       2021-03-16 09:35:37 +08:00
    同学~盲表 了解一下
    superfat
        112
    superfat  
       2021-03-16 09:39:10 +08:00
    数据库设计上是有这种冗余字段的设计,自有它的合理性
    legiorange
        113
    legiorange  
       2021-03-16 09:54:06 +08:00 via Android
    这根本不算什么
    自从我接触了一个用 mysql 当报表的事业单位,我已经释然了。
    polymerdg
        114
    polymerdg  
       2021-03-16 10:06:29 +08:00
    你是沒見過 上百個備註字段的吧?
    jzmws
        115
    jzmws  
       2021-03-16 10:12:36 +08:00
    这个是 扩展字段吧! 不同业务系统对接都加一个 然后就
    hyq
        116
    hyq  
       2021-03-16 10:26:43 +08:00
    @ichou 对千万级,上亿级的表增加字段,可能会卡上几十秒到几分钟
    ZoR
        117
    ZoR  
       2021-03-16 10:30:02 +08:00
    又不是不能用.JPG
    baibaibaibai
        119
    baibaibaibai  
       2021-03-16 10:41:45 +08:00
    66666
    collery
        120
    collery  
       2021-03-16 10:49:51 +08:00
    我们这边中台就有这种表。 你突然接入感觉挺突然的
    visonme
        121
    visonme  
       2021-03-16 10:51:11 +08:00
    这种设计其实在信息系统是很常见的,像老系统设计,或者存储一些不确定的属性字段时候都会使用,基于元数据那套成本高,小公司一般不会去这怎么干的,而且这类字段通常以展示为主
    ddup
        122
    ddup  
       2021-03-16 11:21:26 +08:00
    楼主少见多怪了。
    zjuster
        123
    zjuster  
       2021-03-16 11:28:15 +08:00
    @preach 拓展字段 用 Json 一个 feature 字段 就够了,不用十个吧 ...

    @weizhen199 @fkdtz 预留字段 数据格式不一定能用吧?可能还是要加新字段
    fkdtz
        124
    fkdtz  
       2021-03-16 11:46:56 +08:00
    @zjuster
    什么叫预留,就是基于当前事实,预估在未来会发生某件事,而提前留出空间。

    所以这种操作必然要基于其所在的业务场景来做预留,没必要纠结这个 case 中由于全都是字符类型未来会不会不满足需求,更没必要去推断其业务发展。

    另外就算未来非加字段不可也没什么的,预留只是基于经验判断尽可能减少在未来变动的成本而已,并不是银弹。
    xumng123
        125
    xumng123  
       2021-03-16 13:27:19 +08:00 via iPhone
    有啥,我的数据库已经 reserved2xx 了。各种奇葩没用的需求多了去了,过两天就没用了。reserved 可以循环利用。
    iddddg
        126
    iddddg  
       2021-03-16 13:34:27 +08:00
    看到你惊了,我惊了
    wmhx
        127
    wmhx  
       2021-03-16 13:52:19 +08:00
    最讨厌纵表了, 但很多时候没办法,比如产品属性,动态表单类的都是这种设计, 非常不好记, 但这也是一种设计.
    futamilk
        128
    futamilk  
       2021-03-16 14:09:44 +08:00
    那你是见得少了 hhh
    前段时间才遇到的,一个字段根据数据格式不同,需要分别解析为接近十种不同含义。就是因为预留字段不够用了
    wupher
        129
    wupher  
       2021-03-16 14:19:51 +08:00
    这种冗余字段设计在 2000 年前后的金蝶、用友、ERP 中还挺常见的。

    那时大家使用关系数据库,报表或者表单通过中间映射表甚至是语言层动态映射。

    为了扩展很多事实表都会做类似处理。

    你要以 2021 年眼光来看,有 MongoDB 、json types,那确实挫。

    没办法,很多时候手上有个锤子就看什么都是钉子。
    nicevar
        130
    nicevar  
       2021-03-16 14:39:03 +08:00
    说实话,真的是少见多怪,你要是翻出以前的各种操作系统代码注释都能找到这样的
    seakingii
        131
    seakingii  
       2021-03-16 16:08:55 +08:00
    数据表预留备用字段是常见的业务上的处理方式,有什么好笑的。动不动就笑话别人不是好心态。
    poorcai
        132
    poorcai  
       2021-03-16 17:07:42 +08:00
    我觉得这很正常吧?这个不是现在要用的,是为了后面扩展的,一般有这种字段的,内部都会维护一个字段说明的文档。
    opengps
        133
    opengps  
       2021-03-16 18:06:52 +08:00
    早期项目用的生成工具太正常,改一次 sql 结构影响代码太多,重新生成还有不合意的地方,所以就只能用这个方法
    alfchin
        134
    alfchin  
       2021-03-17 08:53:41 +08:00 via Android
    @xuanbg 还以为有啥优秀的解决方案,原来比靶子还不靠谱。。。
    tgich
        135
    tgich  
       2021-03-17 09:12:52 +08:00
    基操罢了
    catsoul
        136
    catsoul  
       2021-03-17 09:30:10 +08:00
    基本操作,尤其是涉及到跨公司,跨部门那种项目的时候,这种预留是很常见的。
    CBS
        137
    CBS  
       2021-03-17 09:56:07 +08:00
    预留就预留,你发送给前端,这真的河里嘛?
    shawn102400
        138
    shawn102400  
       2021-03-17 11:17:25 +08:00
    @hyq 几分钟是想多了,没几个小时下不来。
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2810 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 44ms · UTC 02:39 · PVG 10:39 · LAX 18:39 · JFK 21:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.