gpt4 book ai didi

mysql - friend 分享数据库设计

转载 作者:行者123 更新时间:2023-11-30 00:23:00 27 4
gpt4 key购买 nike

首先,我并不是想创建一个社交网络,facebook 已经足够大了! (漫画)我选择这个问题作为例子,因为它完全符合我想要做的事情。

我在 MySQL 中有一个用户表和一个 user_connections 表,我可以与它们分享我的照片。但这只是一种方式。

   Users Table:

userid username
1 John
2 Amalia
3 Stewie
4 Stuart
5 Ron

User Connections Table:
user_id connections_ids
1 2,3
2 3,5

connection_ids 列采用 blob 数据类型,因此可以存储大量用户 ID。 我正在考虑另一种数据库设计来存储所有数据并有效地查询该数据。 现在我必须首先从查询中获取所有连接 ID,然后将其拆分为数组。再次编写查询来选择他们创建的照片。

最佳答案

使用表格

user_id , connected_user_id

您可以在其中映射用户之间的连接。

这样,两个用户之间的每个连接都会有一条单独的线路。

从数据库设计的角度来看,这要高效得多,因为您可以在两列上使用索引来加快查询速度。

例如,您可以通过这样的查询获取特定用户的所有连接:

SELECT 
um.connected_user_ids
FROM
user_mapping AS um
JOIN
users AS u ON (um.user_id = u.user_id)
WHERE
u.user_id = <SEARCHED ID>

它只是给出一个完整的列表,而无需剪切或分割结果。也可以简单地加入更多数据。

关于mysql - friend 分享数据库设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23082353/

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