文章資料表,應該存放 uid 還是username
文章顯示頁: 需要顯示 username作者, 作者的link中需要 uid;
如果只儲存其中一個,每篇文章都需要查詢一次member表,擷取另一個資訊;
如果兩種資訊都儲存,則浪費空間; 我看了很多CMS案例,都沒有這樣儲存;
綜合來講,應該如何抉擇;
我認為兩個都儲存比較合理,但是看了幾個cms,都只儲存其中一個;
這就讓我迷茫了.
回複討論(解決方案)
存放 uid
建議放uid,然後顯示再根據uid擷取username
建議放uid,然後顯示再根據uid擷取username
倆個都存不是更好嗎? 犧牲空間,減少開銷. 不是更合理嗎?!
減少一次查詢.
不就是一次關聯查詢嗎?
建議放uid,然後顯示再根據uid擷取username
倆個都存不是更好嗎? 犧牲空間,減少開銷. 不是更合理嗎?!
減少一次查詢.
如果username可以改,那你修改的時候就要改多個表了。
放uid不就行了,關聯查詢就可查到username。
兩個都存太浪費了,有點冗餘,沒必要。
uid加個索引,查詢一次不是很耗開銷的,比你多存一個欄位好多了,盡量也別用連表查詢,用兩個sql分開插敘
建議放uid,然後顯示再根據uid擷取username
倆個都存不是更好嗎? 犧牲空間,減少開銷. 不是更合理嗎?!
減少一次查詢.
如果username可以改,那你修改的時候就要改多個表了。
username 改的比較少,效能消耗短暫;
但不存username:
如: 文章列表頁,需要顯示username; 一頁30篇文章,相當於查詢30次username;
即使用關聯查詢也是非常消耗效能的.
即使用關聯查詢也是非常消耗效能的 ???
這隻是你想當然的想法
關係型資料庫 就是這樣設計的,關聯 對於關係型資料庫並沒有而外開銷(不用反而是浪費)
請你認真補習一下 資料庫範式
我感覺只要你的username定義的是不重複性的,還是儲存username比較好,他減少了一次查詢資料庫的操作,在一定的程度上提高程式的效率
如果username是允許修改的暱稱,那麼只存uid吧
如果是固定不會變的登陸使用者名稱,那麼id和name都存吧
根據關係型範式應該不儲存username的。
而且可以用非關係型的,例如memcache,用uid=>username來讀取。
有時出了顯示username,還需要顯示積分,等級那些,還是需要再查表的,所以只儲存uid 就足夠了,方便擴充。