1
raincious 2013-12-04 14:58:42 +08:00
猜想类似于
SELECT `t`.`topic`, `like`.`liked` FROM `topic` AS `t` LEFT JOIN `liked` AS `like` ON `like`.`topicID` = `t`.`topicID` AND `like`.`likerID` = %CURRENTUSERID% 然后每次顶好了,liked表里面加一条什么的。 当然这样数据库负担很大,或许需要拆成两个SELECT然后在程序里合并结果什么的。当然,拆来来之后,都能直接上NOSQL了。 |
2
spoony 2013-12-04 14:59:03 +08:00
Token+Postid 的Hashtable
|
3
hustlzp 2013-12-04 15:16:13 +08:00 1
一张表,2个field:user_id, post_id。
然后主键设为user_id+post_id的组合。 这样应该就保证一个人只能顶一篇文章一次。 |
4
mechille 2013-12-04 15:32:25 +08:00
提供个思路(没实际操作过,欢迎拍砖):在POST表建一个字段post_user。
里边存入user的id,半角逗号分割。 下次直接用find_in_set判断当前这个user是否存在于这个post的post_user里就可以了 |
6
mechille 2013-12-04 16:08:36 +08:00
@ayang23 那么三楼方案应该是最佳的了。插入用REPLACE INTO 或者 INSERT INTO ... ON DUPLICATE KEY UPDATE。检索用 substring_index 做关系(应该比like效率高吧)
|
7
slixurd 2013-12-04 23:45:40 +08:00
2楼的hashtable显然更好啊,如果不需要查看是谁顶帖的情况下
|