Cyb*_*kie 10 php mysql database
我正在创建一个允许网站用户成为朋友的表.我正在尝试确定哪个是最好的桌面设计来存储和返回用户的朋友.目标是快速查询,而不是耗尽大量的数据库空间.
我有两个选择:
每个友谊都有各自的行.
+----+-------------+-------------------+
| ID | User_ID | Friend_ID |
+----+-------------+-------------------+
| 1 | 102 | 213 |
| 2 | 64 | 23 |
| 3 | 4 | 344 |
| 4 | 102 | 2 |
| 5 | 102 | 90 |
| 6 | 64 | 88 |
+----+-------------+-------------------+
Run Code Online (Sandbox Code Playgroud)
或者将所有朋友作为CSV存储在一行中
+----+-------------+-------------------+
| ID | User_ID | Friend_ID |
+----+-------------+-------------------+
| 1 | 102 | 213,44,34,67,8 |
| 2 | 64 | 23,33,45,105 |
+----+-------------+-------------------+
Run Code Online (Sandbox Code Playgroud)
在检索朋友时我可以创建一个数组explode()
但是删除一个用户会比较棘手.
编辑:对于第二种方法,我会在php中分离数组中的每个id,用于计算和其他功能.
您认为哪种方法更好?
Ali*_*guy 13
第一种方法肯定更好.它是关系数据库很棒的原因:)
它将允许您搜索和分组比第二种方法更具体的标准.
假设您想编写一个查询,以便用户可以看到谁将他们作为朋友.第二种方法需要你使用IN(),并且比简单地使用JOINS慢得多.
归档时间: |
|
查看次数: |
1632 次 |
最近记录: |