我有一个系统,注册用户可以对图片进行投票/投票评论.它与Stack Overflow的投票系统非常相似.
我将投票存储在一个表中,其值如下:
vote_id | vote_comment_id | vote_user_id | vote_date | vote_type
Run Code Online (Sandbox Code Playgroud)
现在我有几个关于以下速度和效率的问题:
问题:一旦用户打开带有评论的图片页面,我需要该用户已经对评论进行了UP/DOWN投票以显示它; 评论旁边的"你投了票"或"你投了票"(在Stack Overflow中,投票图像突出显示).
我可能的解决方案:现在,当我打开一个图片页面时,我遍历每个评论,我也会遍历我的投票表并检查用户是否投票并显示状态(我将vote_user_id与用户的会话进行比较).
这有多高效?有没有人有更好的方法来解决这类问题?
您正在循环浏览投票表吗?您是否将整个数据库读入内存然后循环遍历它?
您是否尝试过仅查询数据库中的相关数据?
SELECT vote_comment_id, vote_type
FROM vote
WHERE vote_user_id = 34513
AND vote_comment_id IN (3443145, 3443256, 3443983)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
719 次 |
| 最近记录: |