MySQL数据库规范化

Gin*_*van 20 mysql enums database-normalization

我应该实现读取数据库规范化(使用连接表)还是应该将ENUM类型用于静态或动态数据?

例如:

我有一个表USERuser_status.我应该创建一个表格status表,还是创建一个包含状态的ENUM列表?

谢谢G

sym*_*ean 25

恕我直言,枚举扩展使得将语义嵌入表格更容易,并通过以下方式提高效率:

  1. 减少查询所需的连接数
  2. 减少DBMS中打开表的数量

我所知道的唯一缺点是

  1. ENUM类型未由其他DBMS实现
  2. 如果您选择在以后的日期为ENUM集添加其他值,则表示您正在应用DDL更新 - 这可能需要很长时间才能使用非常大的表

HTH

C.