代码之家  ›  专栏  ›  技术社区  ›  Yasin Ergul

枚举('yes','no')与tinyint-使用哪一个?

  •  17
  • Yasin Ergul  · 技术社区  · 14 年前

    对于包含真/假值的字段,最佳实践是什么?

    此类列可以定义为枚举('yes','no')或tinyint(1)。一个比另一个好/快吗?

    是使用enum('1','0')还是enum('yes','no')(即,它是否将'yes'或'no'作为字符串写入每一行,以便数据库存储空间变大)?

    3 回复  |  直到 14 年前
        1
  •  11
  •   Jon    14 年前

    也, ENUM 是一个非标准的MySql扩展。你应该避免它,特别是如果你能以一种标准的方式达到同样的结果。

        2
  •  15
  •   Haim Evgi    14 年前

    避免枚举 reasons

    底线是枚举有它自己的 地方,但要节约使用。 模型应该强制 约束,而不是数据库 模型应处理原始解释 将数据转换为有用的信息 视图,而不是数据库。

        3
  •  12
  •   Michal M    14 年前

    BOOLEAN 类型是有原因的。它确实是 TINYINT(1) 但既然有,那一定是推荐的方式。