gpt4 book ai didi

mysql - 如何有效地存储一个类似于 Tinder 的 2-way "like"系统?

转载 作者:太空宇宙 更新时间:2023-11-03 10:47:27 24 4
gpt4 key购买 nike

在 Tinder 上,当 2 个成员互相喜欢时,他们就是“匹配”并且能够交流。如果只有一个成员喜欢另一个成员,那么这不匹配。

我正在尝试将这个“Like”系统存储在 MySQL 中,但无法找到高效的最佳方式。这是我现在的设置。

mysql> desc likes_likes;
+--------------+----------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------+----------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| from_user_id | int(11) | NO | MUL | NULL | |
| to_user_id | int(11) | NO | MUL | NULL | |
| value | int(11) | NO | | NULL | |
| created_at | datetime | NO | | NULL | |
| updated_at | datetime | YES | | NULL | |
+--------------+----------+------+-----+---------+----------------+
6 rows in set (0.00 sec)

为了找到我的匹配项,我会查询类似...

SELECT to_user_id FROM likes_likes WHERE from_user_id = my_id AND value = 1 AND .... I don't know how to join the same table from here.

如何对该表执行查询?如果效率不高,那么存储此模型的更好结构是什么?

1喜欢,0不喜欢。这些是仅有的 2 个值。

最佳答案

SELECT A.from_user_id AS userA, B.from_user_id AS userB
FROM likes_likes A
JOIN likes_likes B
ON A.from_user_id = B.to_user_id
AND A.to_user_id = B.from_user_id
AND A.id <> B.id
WHERE A.value = 1
AND B.value = 1

关于mysql - 如何有效地存储一个类似于 Tinder 的 2-way "like"系统?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29552342/

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