所以我有一个问题,我希望它不是太主观。正确的MySQL结构存储基于用户的数据
我有一个博客风格的网站,所以在主页上的文章会在发布的日期旁边加载,发布它的用户等基本数据是这样的。
我将其存储在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和一个连接,而不是一个额外的查询 –
去与选项B – Drew
肯定“商店数据由一个'user_id和用户名'在一个不同的表” – user5173426