首页 > 解决方案 > 一大列还是许多小行?

问题描述

在新闻提要应用程序中,我们的客户需要存储用户阅读的所有文章的 id。

我们决定为此创建一个表,但从性能的角度来看,以下哪种方法更好:

  1. 每个用户有一行,有两个字段 auser_idarticle_ids,然后每次用户阅读一篇文章时,将 id 附加到 article_ids 文本 - 使用 update 和 concat (我们可能最终在一列中有大量数据)
  2. 有很多行,两列,user_id然后article_id,每次用户阅读一篇文章时,将article_iduser_idin 一起插入作为新记录(我们最终可能会得到太多行)

或者如果有更好的方法,任何建议都非常欢迎。

标签: mysql

解决方案


使用第二种方法,您可以跟踪客户可能会询问的其他事项。

  • 首先,打开/阅读/访问时间。
  • 打开/读取/访问的总数。
  • 上次打开/阅读/访问时间。

article_id在这种方法中,如果需要,您可以稍后应用索引。

注意:正如@Arjan 在他的回答中所说,通过适当的索引,现在存在太多行。


推荐阅读