gpt4 book ai didi

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

转载 作者:IT王子 更新时间:2023-10-28 23:45:54 28 4
gpt4 key购买 nike

我正在创建一个允许网站用户成为 friend 的表格。我正在尝试确定哪个是存储和返回用户 friend 的最佳表设计。目标是进行快速查询并且不占用大量数据库空间。

我有两个选择:

每个友谊都有单独的行。

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

或者将所有 friend 存储为 CSV 格式

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

当检索 friend 时,我可以使用 explode() 创建一个数组,但是删除一个用户会比较棘手。

编辑:对于第二种方法,我将在 php 数组中分隔每个 id 以实现计数等功能。

你认为哪种方法更好?

最佳答案

第一种方法肯定更好。这就是使关系数据库变得伟大的原因:)

与第二种方法相比,它允许您按更具体的条件进行搜索和分组。

假设您想编写一个查询,以便用户可以看到谁将他们作为 friend 。第二种方法需要您使用 IN() 并且比简单地使用 JOINS 慢得多。

关于php - 许多数据库行与一个逗号分隔值行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6631851/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com