細節問題: 文章資料表,存放的是使用者uid還是username

來源:互聯網
上載者:User
文章資料表,應該存放 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 就足夠了,方便擴充。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.