我有两个表:
user_score_post - >字段:ID,POST_ID,USER_ID,score_date - >用3m左右行
后 - >字段:ID,USER_ID,身体 - >约10K的行...
,这是我的检索与专用USER_ID用户的每月排名查询和得分按照他的职位有喜欢的数量:更好的查询来获取用户每月排名?
SELECT COUNT(*) FROM
(SELECT COUNT(l.id) AS likes
FROM user_score_post l
JOIN post p ON p.id = l.post_id
AND score_date >= :time // last month
GROUP BY p.user_id) AS score
WHERE score.likes > :score // user current score
,但它需要2.4秒执行。尽管使用合适的索引和强大的专用服务器,这是否正常?
此查询的最佳选择是什么?什么是最好的索引组合?
是唯一的帖子?如果是这样,那么不知道为什么你在user_score_post中也有。这是多余的。不回答问题,但你的回答将有助于澄清你的问题 – 2014-12-13 11:21:22