将用户ID列表保存到mysql表

Mik*_*kle 2 mysql arrays

我需要保存查看页面,流式传输歌曲和/或下载它的用户ID列表.我对列表的处理是添加并显示它.我真的不需要保存更多信息,我想出了两个解决方案.哪一个更好,或者我错过了更好的解决方案:

  1. KISS解决方案 - 具有主键的1个表,歌曲id和上面三个交互(查看,下载,流)中的每一个的文本字段,其中将存在逗号分隔的用户id列表.添加它只是一个连接操作.

  2. "最佳实践"解决方案 - 拥有3个表,其中主键是歌​​曲ID,而用户ID字段是进行交互的.每行都有一个用户ID,我可以添加日期和其他内容.

让我倾向于选项2的一件事是,检查用户是否已经投票选出歌曲可能更容易?


tl; dr version - 最好使用文本字段将数组保存为逗号分隔值,或者将数组中的每个项目放在单独的表行中.

Seb*_*Seb 6

肯定是第二名:

  • 随着应用程序的增长,您将能够扩展应用程序
  • 它将减少编程语言的依赖性
  • 您将能够更快,更清晰地进行查询
  • 对于其他程序员以后编写/调试您的应用程序,它将不那么痛苦

另外,我将添加一个名为"operations"的新表及其ID,因此如果您以后需要,可以添加不同的操作,在每行上存储操作ID而不是字符串("view","download","stream ").