我有這樣的表設置:
消息發送到一組用戶。mysql:設計實踐
該消息被放入parent_message
表
本表包含id | sender_id | date
被放入child_message
表是該組中的每個發送的消息
此表包含id | parent_id | message | date_sent
當答覆是收到它被放入reply_message
表
此表包含id | child_id | message | date_received
。
現在我對這個設置有幾個問題。
1)每次頁面加載時,我需要顯示每條父消息有多少個子消息。
您是否將一列添加到名爲child_count的parent_message表中或在查詢中解決。
爲什麼,爲什麼不呢?
實施例的查詢
select *,
count(select parent_id from child_message c where c.parent_id = p.parent_id) child_count
from parent_message;
2)如果用戶選擇,他們可以查看所有的應答消息到父消息。
你會將parent_id添加到應答reply_message表中還是在查詢中解決?
爲什麼,爲什麼不呢?
例子查詢
select * from reply_message
where child_id in(select id from child_message where parent_id = '66')
嗯, 對總統計表格有趣的想法。 將不得不考慮這一點。 系統沒有對消息進行任何操作,所以這很好。 你基本上已經把我的問題放在一行中,我選擇規範化還是性能,表格本身可以變得非常大,因爲一條父信息將有大約15k條子信息,那麼你的建議是什麼? – Hailwood 2011-01-19 00:55:02