我有一个用户表。每个用户都可以创建一个或多个电影列表。
所以我搜索了一下,在Stack Overflow中找到了一个答案,即创建列表的最好方法是创建一个包含List_Id和User_ID列的List表,以及一个包含List_ID和Movie_ID Column.Then的list表。我通过运行"SELECT Movie_ID FROM ListEntry WHERE List_ID=x“来检索列表条目
我的问题是。当我的网站增长时,我有超过1,000个用户,每个用户都有2-3个列表,每个列表都有50部电影,ListEntry表可能有超过100.000个条目。这不会减慢数据库的运行速度吗?这是大多数网站的工作方式吗?有没有更好的方法呢?
发布于 2013-07-01 19:07:43
假设您不打算将电影的is存储为int(11)或可能小于(11)中的任何内容-我非常确定不需要那么多电影:} -表的行数将“很大”,但数据量不会很大。
MySQL在定位和排序具有较小键长度的值时非常有效,即您的Movie_ID和User_ID将是两个较小的键( int(11)或类似的键),因此它们的连接也将很小并且完成得相当快。
无论如何,我不会担心这一点,如果我的表有超过10^8 (100,000,000)条记录,如果它们被正确地索引并具有良好的键,MySQL处理它没有任何困难。
发布于 2013-07-01 19:05:53
100,000条?MySQL甚至不会感觉到它--你也不会。当你有超过1000万的时候再来。
发布于 2013-07-01 19:06:19
数据库是为处理大量数据而设计的。具有适当索引的DB的可以在一个表中保存数十亿条记录。
https://stackoverflow.com/questions/17402931
复制相似问题