我有一個網站,人們可以添加他們最喜歡的電視劇。有一個功能可以檢查你看過的劇集。數據庫表獲得太多的數據 - 需要另一種解決方案
每個被選中的劇集都會在數據庫表(使用user_id,show_id和episode_id)中創建一條記錄。
此表現在超過600.000行,增長速度非常快!
我設置了索引,但是我覺得在查詢這個表格時性能越來越差。
我的新的解決方案的想法:
所以不是:
user_id | show_id | episode_id
1 ....... 123 ......7675
1 ....... 123 ......7676
1 ....... 123 ......7677
1 ....... 456 ......5678
1 ....... 456 ......5679
1 ....... 456 ......5680
我可以這樣做:
user_id | show_id | episode_ids
1 ....... 123 ......7675,7676,7677
1 ....... 456 ......5678,5679,5680
那我就必須將字符串分割成一個數組,並使用array.include?(some-id)。
這應該可以緩解數據庫,但是Ruby會處理更多的數組代碼。
我在正確的軌道上嗎?或者有人可以想出更好的解決方案嗎?
我會親自堅持第一個例子,但我不是專家,所以我會離開它的人更多線索回答。 – chigley 2010-10-03 13:14:45
'show_id'可以從'episode_id'派生嗎? – 2010-10-03 13:23:55