我应该使用ENUM还是TINYINT

时间:2014-04-11 06:14:10

标签: mysql

我的表格包含字段'优先级'。现在我有以下优先考虑'low','medium','high'。

我感到困惑的是:

  
      
  1. 我应该为优先级值创建ENUM类型字段吗?
  2.   
  3. 我应该创建TINYINT类型字段并将值存储为1,2,3
  4.   

请注意,根据此字段,我需要搜索和排序数据。 此外,此字段会有索引。

3 个答案:

答案 0 :(得分:1)

你应该使用ENUM,因为你说你必须搜索/排序,在小int中使用它们会让你进行额外的处理,例如将1,2,3转换回' low',&# 39;中等'高'在展示时。

Enum是这种情况的理想选择

答案 1 :(得分:0)

如果你确定以后没有添加任何优先级,你应该使用ENUM,因为在这种情况下你必须改变表... BUt enum给出一致数据的流量没有插入其他值..

答案 2 :(得分:0)

ENUM 是非标准的MySql扩展名。你应该避免使用它,特别是如果你能以标准方式获得相同的结果。因此,最好使用 tinyint