php - 多对多 vs 一行

标签 php mysql

我感兴趣的是多对多关系如何以及为什么比将信息存储在一行中更好。

示例:我有两个表,用户和电影(非常大的数据)。我需要建立一种关系“ View ”。 我有两个想法:

  1. 在 Users 表中创建另一列,名为“views”,我将在其中以字符串形式存储该用户已观看的电影的 ID。例如:“2,5,7...”。然后我将在 PHP 中处理这些信息。
  2. 创建新表 users_movies(多对多),其中包含列 user_id 和 movie_id。 user_id=5 和 movie_id=7 的行表示用户 5 观看了电影 7。

我很感兴趣哪种方法更好以及为什么。请考虑数据相当大。

最佳答案

第二种方法几乎在各个方面都更好。您不仅可以利用数据库索引更快地查找记录,还可以使修改变得更加容易。

关于php - 多对多 vs 一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28302912/

相关文章:

php - 如何在不重新加载页面的情况下更改 php 包含?

PHP - 从文本中删除点但排除数字

mysql - 如何使用 $this->db 编写以下 sql 查询

mysql - 自定义错误重复输入设备

php - yii2: Yii\db\Query 模型函数

php - 如何在 codeigniter 事件记录中设置 group_concat_max_len?

javascript - 无法与 javascript 中的 php echo 输出进行比较(jquery-post)

php - 将 JavaScript 迁移到 PHP

mysql - sql查询以获取组的最大日期

mysql - 使用 xml 缓存/读取数据而不是从 MySQL 数据库读取数据是个好主意吗?