我已经创建了数十个用户登录系统,并且总是在表的末尾添加选项,标志,设置等,所以它非常大......
这就是开始。然而,对于其他类型的表,我使用基于元的系统,其中JOIN
一些id到some_meta
表,这总是有几个好处。为用户做这件事也有益吗?那么主users
表只包含id,基本用户详细信息,然后是另一个偏好元数据表等?这种事情的最佳做法是什么?
答案 0 :(得分:0)
这实际上取决于你的目标是什么。如果所有用户元数据都具有相同的superkey,(user_id
最有可能),我会将所有“元数据”保存在一个表中。把它分成另一张桌是没有好处的。
但是,如果客户的元数据要求可以变化和扩展/收缩,那么三个表可能是有益的:一个用于用户,一个用于元数据列,一个用于用户元数据:
(user_id, user_email)
(meta_id, meta_column_name)
(user_id, meta_id, user_meta_value)
这样做的好处是允许您动态添加和删除元数据值,并且它也不要求所有客户都拥有所有相同的元数据列。