首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Java

Java 中的枚举类型和 mysql 的 enum 配合用来存储状态字段,有什么优缺点?

  •  
  •   VeryZero · 8 天前 · 417 次点击
    之前一直用整型保存订单状态之类的字段,好像别人也都是这么干的。但是 mysql 有 enum 字段啊,不管从可读性还是维护性上来说都比整型强吧,为什么用的不多呢,是里面有什么坑吗?
    8 回复  |  直到 2019-01-11 15:39:43 +08:00
        1
    cyspy   8 天前
    想加一种订单状态时就想哭了
        2
    VeryZero   8 天前
    @cyspy 不应该啊,改下表结构不就行了?
        3
    DovaKeen   8 天前
    @VeryZero 生产中改表结构会不会很麻烦
        4
    VeryZero   8 天前
    @DovaKeen 一个项目上线以后,表结构不可能一直不变吧,总有新需求需要新增或者修改字段的。这个理由有点牵强啊。
        5
    hihipp   8 天前
    如果 Java 部分是提供 SDK 那种,新增订单状态,没更新 SDK 正在跑得程序就要哭了。
        6
    debugjoker   8 天前
    可参考同样的问题 /t/233301
        7
    helone   8 天前
    在大部分公司中,更改表结构都是一个很麻烦的事情,添加新表、添加新字段这些都还好,更改现有字段结构及删除字段在我待过的公司都是明令禁止的操作,尤其是在一些运维比较完善的公司,除非你有充分的理由且有权限的人批准

    所以就越来越少人用 enum,正如一楼提到的,如果要添加一种订单状态,你需要改表结构(部分大公司不一定行得通),还需要改代码,明明用 tinyint 改下代码就可以跑了,非要强行增加难度,而且这个难度对性能基本没提升,干嘛要这样?
        8
    gaius   8 天前
    改表可能就不是你一个应用要重启
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   768 人在线   最高记录 4236   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 19ms · UTC 21:33 · PVG 05:33 · LAX 13:33 · JFK 16:33
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1