我即将在我的网站上实现一个功能,该功能根据用户在其库中已有的内容向用户推荐内容(即Last.fm).单个表包含他们添加的内容的所有记录,因此行可能类似于:
--------------------
| userid | content |
--------------------
| 28 | a |
--------------------
Run Code Online (Sandbox Code Playgroud)
当我想为用户推荐一些内容时,我使用查询来获取在其库中添加了内容的所有用户ID.然后,在这些用户ID中,我创建另一个查询,查找这些用户中的下一个最常见的内容(fx.'b'),并向用户显示该内容.
我的问题在于我在考虑这里的大局.说最终我的网站会在表格中保存500.000行,这会使MySQL响应非常慢还是我在这里低估了MySQL?
在测试之前你不会知道这一点,所以开始原型设计.
通常,500 000行几乎没有.当我的表达到5000万时,我有点担心,因为当我必须清除旧数据时需要一段时间 - 尽管查询数据仍然很快.
但这一切都取决于您需要的查询类型.跨越所有这5000万行的查询确实非常慢,查询只接触这些5000万行中的50k是很快的.对于您的问题,您需要测量查询,调整查询,表/索引和mysql本身.