【发布时间】:2015-04-10 02:28:52
【问题描述】:
在 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 个值。
【问题讨论】:
-
什么是
value?1喜欢,-1讨厌?0不喜欢,10喜欢?...
标签: mysql sql database indexing