以下是我的示例查询:
SELECT userid,count(*)
FROM hits
GROUP BY userid
我的桌子是这样的
id | userid |时间等等
其中id是主键,我使用此表存储页面上的每次访问。 这意味着我的桌子有200,000多行。
对于userid,我想说X我想知道它在查询中的排名,这意味着有多少用户访问过该页面的次数超过了具有该用户ID的用户。
我知道有很多问题,但是它们并不相同,因为
任何进一步的疑问请在评论中澄清
由于
答案 0 :(得分:0)
在预期返回多行的查询中计数/分组将逐渐变慢,因为查询仍然必须触及表中的每一行。通常,如果您希望经常执行此类报告,并且您希望表继续增长,则应该开始将该值转换为缓存值(因此您应该仍然存储每个结果,但是您还应该添加到计数器上)该用户的用户记录)。当然,这也会引发一个问题:你的user_id列是否有索引,而用户表中是否有外键,这会大大加快查询速度。