我有票,其上記錄項目的用戶的投票(USER_ID,ITEM_ID,日期)的表。用戶投票的項目數量可能達到數十萬,用戶數以萬計。我需要定期查詢這些項目的投票總數(最高票數的項目)。爲避免不斷總結所有總數,跟蹤項目表(item_name,item_id,vote_total)中的投票總數似乎是合乎邏輯的。記錄投票總數時是否存儲次要計數信息是否過度優化?
另一方面,這樣做意味着每次用戶投票時都會不斷更新投票表與當前總計(許多用戶大致同時更新同一行),並且我被告知優化代碼可能會產生問題。這是我應該擔心的嗎?
我注意到這個問題來了一次又一次,比如我需要做同樣的事情與每個項目的評論總數,每個項目等觀看總次數是存儲這樣的普遍接受的次要信息實踐?
除非是說,它需要* A *的性能測試用例,然後是的,這是一個*過度優化*。只要模型保持清潔,它就會保持自己的適應性:二級/緩存表肯定比嘗試將這些信息應用到主要規範化數據更好。 – 2011-12-21 01:26:17