V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
cjyang1128
V2EX  ›  问与答

关于数据库设计的一个小问题

  •  
  •   cjyang1128 · 2015-07-20 20:55:31 +08:00 · 2019 次点击
    这是一个创建于 3208 天前的主题,其中的信息可能已经有所发展或是发生改变。

    比如表中有一个字段type,它一共有三种值,比如A,B,C。那么是用整形1,2,3来代表A,B,C好,还是直接存A,B,C好。然后需要加索引吗?希望各位前辈指点!

    13 条回复    2015-07-21 22:48:42 +08:00
    line
        1
    line  
       2015-07-20 21:14:10 +08:00
    1. 都可以, 用char(1) 会好点
    2. 加不加索引是看你会不会常用这个字段定位数据.
    huijiewei
        2
    huijiewei  
       2015-07-20 22:21:41 +08:00
    enum 符合
    davems
        3
    davems  
       2015-07-20 23:52:23 +08:00
    MySQL 的话可以用 tinyint (1) 然后存1,2,3
    jackysc
        4
    jackysc  
       2015-07-20 23:59:38 +08:00
    二楼+1
    yangqi
        5
    yangqi  
       2015-07-21 00:01:09 +08:00
    @huijiewei 这个要看具体字段的含义,是否有可能添加值
    iyangyuan
        6
    iyangyuan  
       2015-07-21 08:30:32 +08:00 via iPhone
    我一般是用整型,从来不用char,char在java程序里很难处理
    FanError
        7
    FanError  
       2015-07-21 08:42:32 +08:00
    @iyangyuan 是有其它什么特殊情况char难处理吗?我一直都是rs.getString出来,和读varchar没啥区别呀
    b821025551b
        8
    b821025551b  
       2015-07-21 11:00:52 +08:00
    unsigned tinyint,还可以扩展200多个选项 XD
    msg7086
        9
    msg7086  
       2015-07-21 12:36:23 +08:00
    不用枚举的理由是?
    huijiewei
        10
    huijiewei  
       2015-07-21 13:47:10 +08:00
    @yangqi 楼主的条件已经限定了,你和我说具体含义是否添加值?
    yangqi
        11
    yangqi  
       2015-07-21 21:09:26 +08:00
    @huijiewei 楼主的条件是现在的条件,但是根据场景该字段以后有可能会有D,E,F等选项啊,你的明白?
    huijiewei
        12
    huijiewei  
       2015-07-21 22:45:35 +08:00 via iPhone
    @yangqi 楼主说场景了?
    yangqi
        13
    yangqi  
       2015-07-21 22:48:42 +08:00
    @huijiewei 就是因为没说我才提示要考虑到场景啊
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2331 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 12:21 · PVG 20:21 · LAX 05:21 · JFK 08:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.