所以我有一個問題,我希望它不是太主觀。正確的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