我有一个网站,人们可以添加他们最喜欢的电视剧。有一个功能可以检查你看过的剧集。数据库表获得太多的数据 - 需要另一种解决方案
每个被选中的剧集都会在数据库表(使用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