1

我有一个用设计生成的用户模型。

现在我希望每个用户都有其他列

- balance
- paperclip logo
- website
- address
- phone
etc

组织此类数据的最佳方式是什么?

我应该制作单独的表(如电话表、地址表、用户徽标表等)并建立一对一的关系吗?

我听说把所有东西都放在一张桌子上很糟糕。

很高兴听到一些意见。

4

1 回答 1

1

把所有东西放在一张桌子上:

  • 好处:无需join即可获取用户模型,节省查询时间
  • 缺点:用户模型会包含大量数据,所以如果你持有一个包含 1000 个用户的数组,他们会消耗内存

分离属性:

  • 好处:用户模型将消耗很少的内存(只有电子邮件、姓名等基础知识......)
  • 缺点:有很多连接来获取有关用户的信息

我认为您的选择很大程度上取决于您的应用程序的功能,因此如果您总是需要有关用户的所有信息,那么将所有内容放在一个表中,否则您可以分离数据。无论如何,您可以同时使用这两种方法,这样您就可以将user模型和另一个模型命名为user_data,并且该模型将保存所有额外信息,例如phone,address等......这样您就可以从这两种方法中获得好处。

于 2012-12-24T20:02:33.687 回答