【发布时间】:2015-11-19 17:01:18
【问题描述】:
所以我有一个问题,我希望它不是太主观。
我有一个博客风格的网站,所以主页上的文章会与发布日期、发布用户等一起加载。基本数据是这样的。
我像这样将它存储在 MySQL 中:
article_id username date content etc.
1 user1 2015-05-14 01:35:14 my content a
2 user2 2015-05-16 02:33:15 my content b
这样,我可以使用一个查询来显示它,在那里我检索用户名、日期、内容等。
我的问题是。我想允许用户选择更改他们的用户名。我看到了两种选择。
我要么像现在一样继续存储数据,然后手动将带有用户相关数据的此类表更新为新用户名。或者我通过user_id 而不是username 存储数据,并对加载的每篇文章进行额外查询,以从另一个user 表中获取关联的用户名。
哪种方法是正确的?
我问这个是因为我认为有针对这种情况的推荐做法?通过用户名存储数据并更新它是否正常,或者通过 id 存储以避免必须这样做 - 但以查询数据时的开销为代价。我猜可以在一次查询中显示基于 id 的数据的用户名,但这仍然需要更长的时间?
【问题讨论】:
-
user_id 和一个连接,而不是一个额外的查询
-
肯定是“
user_id and username在不同表中的存储数据”
标签: php mysql database design-patterns database-design