首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySql在查询中获得排序

MySql在查询中获得排序
EN

Stack Overflow用户
提问于 2012-06-22 20:14:12
回答 1查看 111关注 0票数 0

下面是我的示例查询:

代码语言:javascript
复制
SELECT userid,count(*)
FROM hits
GROUP BY userid

我的桌子是这样的

id \ userid \ time ...etc

其中id是主键,我使用这个表将每次访问都存储在一个页面上。这意味着我的表有200,000+行。

对于userid,假设是X,我想知道它在查询中的排名,这意味着有多少用户访问了该页面,而不是使用该用户in的用户。

我知道有很多这样的问题,但它们不一样,因为

  1. ,我的查询有
  2. 分组,我在这里尝试了很多答案,有些甚至什么都不返回,而其他的则需要5-10分钟。我需要它快点。--

如有任何疑问,请在评论中加以澄清。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-22 20:20:25

在预期返回多行的查询中,Count/Group将逐渐变慢,因为查询仍然必须触摸表中的每一行。通常,如果您希望经常做这样的报告,并且您希望您的表继续增长,那么您应该开始将该值滚动到缓存的值中(因此您仍然应该存储每个结果,但也应该添加到该用户用户记录上的计数器)。当然,这也回避了一个问题:您的user_id列上是否有索引,用户表中是否有外键,这将大大加快查询的速度。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11163455

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档