db中status-column中的Rails,字符串或整数值

时间:2011-03-20 00:28:26

标签: ruby-on-rails database-design activerecord rails-models

我有一个具有status属性的事件模型,并且想知道我是否应该将它变成字符串或整数字段。 该事件可以有三种不同的状态,“聚集”,“活动”或“关闭”。 如果我应该使用整数解决方案,我应该在某处定义一个常量,这样就可以使用CLOSED insted of“2”(我应该把这个常量放在哪里?)

提前致谢!

1 个答案:

答案 0 :(得分:4)

我建议使用整数有两个主要原因。

  1. 大多数数据库可以比字符串更快地查询和索引整数列。
  2. 在查询大型数据集时,它在磁盘和网络上占用的空间更少。
  3. 您选择字符串或整数的天气,您应该将它们定义为常量,并仅通过它们的常量引用它们。你永远不应该直接使用这些值。

    http://en.wikipedia.org/wiki/Magic_string_(programming)