使用或不使用ENUM / SET类型?

时间:2011-08-09 21:04:45

标签: mysql database-design

您是在项目中使用ENUM / SET字段类型还是使用VARCHAR / INT字段并在代码中定义可用值?什么是最佳做法?

在我看来,避免ENUM / SET更容易维护,因为我们必须仅在代码中更改值(而不是数据库和代码)。

谢谢。

2 个答案:

答案 0 :(得分:3)

如果不知道你的项目是什么,你的数据是什么样的等等,就不可能回答这个问题。

一般来说,它限制使用ENUM并限制直接在代码中定义值。如果需要“ALTER”列或编辑代码,则需要对其中任何一个进行更改。如果您创建一个单独的表来存储可接受的值,并使用外键链接到该表,则可以轻松添加和编辑属性,而无需更改任何定义或代码。

编辑:它还使您的代码可以访问属性。

答案 1 :(得分:1)

我使用枚举,但对于搜索/性能,最好使用INT