【发布时间】:2010-12-27 09:53:30
【问题描述】:
我为用户设置了大约 200 项设置,其中包括通知设置和用户对对象活动的跟踪设置。问题是如何将它存储在数据库中?每个设置应该是一行还是一列?如果是列,那么表将有 200 个列。如果行,则大约 3 列,但每个用户 200 行 x 甚至 1000 万用户 = 不好。
那么我还能如何存储所有这些设置?注意:这些设置是文本输入和对其他表的 FK 查找的混合。
谢谢。
【问题讨论】:
-
如果您不需要搜索某个字段,您可以将它们全部序列化并存储在一个文本字段中。对我来说,为每个字段创建一列是可以的。为了改进搜索/选择,您可以将它们拆分为几个表,例如 user_profile、user_inteface_settings、user_...(可以单独使用的表)。 -- 创建一个包含设置的通用表:如果您有很多可选字段并且可能导致 200 * 10 000 000 = 2 000 000 000 行的表,则每行一个(如(uid、字段、值)很有用。
-
百万 - 提醒您,您应该“接受”对您帮助最大的答案。
-
我的问题还没有解决。设置太多,这里提到的两种方法都不能正常工作。所以我正在探索其他一些选择,一旦我找到了一些我会接受最接近的答案。