論壇數據庫的常見規範化結構是將所有帖子存儲在列中定義線程號的列表中。要顯示一個線程,我們需要執行SELECT
和線程號WHERE
子句(按日期排序)。在這種情況下,我們處理每個查詢的很長的表格。論壇的規範化數據庫結構
它真的是存儲論壇帖子和主題的最佳方式嗎?
Q &像股票交易所項目一樣,除了答案(即與論壇上的帖子相同)之外,每個答案都可以有評論。
什麼是像stackoverflow這樣的大型網站的最有效的數據庫結構?
論壇數據庫的常見規範化結構是將所有帖子存儲在列中定義線程號的列表中。要顯示一個線程,我們需要執行SELECT
和線程號WHERE
子句(按日期排序)。在這種情況下,我們處理每個查詢的很長的表格。論壇的規範化數據庫結構
它真的是存儲論壇帖子和主題的最佳方式嗎?
Q &像股票交易所項目一樣,除了答案(即與論壇上的帖子相同)之外,每個答案都可以有評論。
什麼是像stackoverflow這樣的大型網站的最有效的數據庫結構?
這遠遠不是作爲這樣大,但在我的應用程序,模型我CHOS是讓每個崗位都有
這允許輕鬆獲得
如果接受論壇是另一種形式樹結構 - 我會建議gest嵌套設置或封閉表來創建帖子之間的關係。 nested setclosure table - 無法找到關閉的好鏈接 - 抱歉!
簡單存儲線程和家長的ID可以使事情有點棘手...
查詢一個更快的方法是特里和一組嵌套即celko樹之間的混合。例如,您可以使用線程ID爲嵌套集合查詢構建帶有附加左側和右側ID的三元樹狀結構。複雜的事情是插入或刪除這棵樹。或者你可以用一個哈希鍵搜索kart-trie來搜索左右。但是我認爲一個嵌套集可能已經足夠了,因爲那時ID是無序的。
您可以在以下位置看到stackoverflow數據庫結構:http://data.stackexchange.com/stackoverflow/query/new表格和字段列在右側。 – Johan
一些簡單的問題:你有一個樹結構(評論的評論)?線程以用戶帖子開始?他們是類別? ... – danihp