您在项目中使用ENUM/SET字段类型,还是使用VARCHAR/INT字段并在代码中定义可用值?最佳做法是什么?使用或不使用ENUM/SET类型?
避免使用ENUM/SET似乎更容易维护,因为我们必须仅在代码中更改值(不是数据库和代码)。
谢谢。
您在项目中使用ENUM/SET字段类型,还是使用VARCHAR/INT字段并在代码中定义可用值?最佳做法是什么?使用或不使用ENUM/SET类型?
避免使用ENUM/SET似乎更容易维护,因为我们必须仅在代码中更改值(不是数据库和代码)。
谢谢。
它不可能回答这个问题,不知道你的项目是什么,你的数据是什么样的,等
一般而言,其限制使用ENUM
,并且还限制直接在代码中定义值。如果您需要对其中任一项进行更改,如果需要“ALTER
”或编辑您的代码。如果您创建单独的表来存储可接受的值,并使用外键链接到该表,则可以轻松添加和编辑属性,而无需更改任何定义或代码。
编辑:它也使属性可以访问您的代码。
我用枚举,但是对于搜索/性能,最好使用INT
在必须修改一个数百万行的表来添加一个新的ENUM值之后,我才会使用它们,当我知道值不会像星期几那样变化时。在巨大的桌子上限制但不那么痛苦。 –