微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 许多数据库行与一个逗号分隔的值行

我正在创建一个允许网站用户成为朋友的表格.我试图确定哪个是最好的表设计来存储和返回用户的朋友.目标是快速查询并且不会占用大量的数据库空间.

我有两个选择:

每个友谊都有单独的行.

+----+-------------+-------------------+
| ID | User_ID     | Friend_ID         |
+----+-------------+-------------------+
| 1  | 102         | 213               |
| 2  | 64          | 23                |
| 3  | 4           | 344               |
| 4  | 102         | 2                 |
| 5  | 102         | 90                |
| 6  | 64          | 88                |
+----+-------------+-------------------+

或将一行中的所有朋友作为CSV存储

+----+-------------+-------------------+
    | ID | User_ID     | Friend_ID         |
    +----+-------------+-------------------+
    | 1  | 102         | 213,44,34,67,8    |
    | 2  | 64          | 23,33,45,105      |
    +----+-------------+-------------------+

检索朋友时,我可以使用explode()创建一个数组,但删除用户会更棘手.

编辑:对于第二种方法,我将在PHP中分离数组中的每个id,以进行计数等功能.

你认为哪种方法更好?

第一种方法肯定更好.这是什么使关系数据库很好:)

它将允许您通过比第二种方法更具体的标准来搜索和分组.

假设你想写一个查询,以便用户可以看到他们是谁的朋友.第二种方法将需要您使用IN(),并且比使用JOINS要慢得多.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐