mysql - 单个字段数组或多个行

时间:2012-05-23 21:19:07

标签: mysql performance

为了预先提出这个问题,我应该说我对数据库效率知之甚少,很快就会显而易见。

这是一个相当简单的问题:

我想存储mysql数据库中的事件。 我已经想到了两种可能的方法(还有更多,我确定):

  1. attendance表格中创建一个额外的events行,其中包含逗号分隔的用户ID列表
  2. 创建一个attendance表,其中包含两列event_iduser_id
  3. 我的直觉说方法2效率最高 - 虽然必须返回和遍历多行,但这可能比在连续字符串中搜索特定user_id成本更低...... / p>

    有人可以证实吗?

2 个答案:

答案 0 :(得分:3)

创建一个新表!

否则你没有利用MySQL的关系方面,你运行的每个查询都必须解析csv条目的结果(可能效率低下)

答案 1 :(得分:1)

第二种选择更好。使用逗号分隔的字符串进行搜索非常耗时。

但是,在第二个选项中,请确保event_iduser_idFOREIGN KEYS

这将INDEX列,您将获得更好的搜索结果。