当前位置: 首页 > 知识库问答 >
问题:

MySQL求和查询需要大量的时间来完成。寻找瓶颈

龙默
2023-03-14

我正在运行一个简单的MySQL查询来查找用户玩游戏的总时间:

SELECT userId, SUM(time) AS totalGameTime
                    FROM game_attempts
                    WHERE userId = 19599

EXPLAIN显示了以下内容:

id  select_type  table  type  possible_keys  key  key_len  ref  rows  Extra
1  SIMPLE  game_attempts  ref  userId_gameId  userId_gameId  4  const  26880  
Sending data    1.786524

重要的是,该表使用InnoDB引擎并限制了大约200万条记录。

共有1个答案

燕元明
2023-03-14

尝试像这样为userId创建索引将解决您的问题:

   ALTER TABLE game_attempts ADD INDEX (userId);
 类似资料:
  • 我有一个使用模块的运行的进程: 其结果是: 这里,调用来处理图像(附件)并将OCR结果输出到myop。txt。 现在,我希望这在多个进程上发生,代表这个注释(或者直接看到这个),所以代码在这里: 这段代码所做的是调用4次,将流程对象保存在列表中,遍历所有这些对象,直到它们全部完成。下面给出了无限循环实现的说明。 这里的问题是后一个程序需要花费大量的时间来完成。它一直在使用函数等待进程完成,该函数为

  • 我正在使用以下代码: xlsx文件本身有25,000行,每行有500列的内容。在调试过程中,我看到我创建XSSFWorkbook的第三行,需要很多时间(1小时!)来完成这个语句。 有没有更好的方法来访问原始xlsx文件的值?

  • 我有以下PHP代码在Laravel正在执行一个MySql查询: 执行此查询需要很长时间。 我对所排序的列以及其他查询的许多列都有索引。 我该怎么办? 更新: 执行的查询: 结果:

  • 问题内容: 找出特定请求花费了多长时间的好方法是什么? 我想获取此信息,然后将其显示在页面上的某处。 回答??:::: 我是javascript新手,如果您不想内联“ success”函数(因为它将是一个更大的函数),这是我能想到的最好的方法(这是执行此操作的好方法)吗?我觉得我已经把事情复杂化了…: 问题答案: @codemeit是正确的。他的解决方案如下所示,将jQuery用于ajax请求。这

  • 我正在用CXF开发一个SOAP客户端。我有WSDL2Java生成的代码。我做了一个JAR可执行文件来测试。当我尝试提出请求时,我首先这样做: WSDL是web服务的URL。 service_name是服务的QName。 MintService是从wsdl2java代码生成的类。 MintServiceSOAP是endpoint的QName MintService.class是WSLD2Java生成

  • 问题内容: 更新: 只是在更明显的地方提到它。当我将IN更改为=时,查询执行时间从180缩短为0.00008秒。速度差可笑。 此SQL查询需要180秒才能完成!那怎么可能?有没有一种方法可以优化它更快? 每个表中只有大约5000行,因此它应该不会太慢。 问题答案: (发布我的评论作为答案,显然确实有所作为!) 如果将更改为, 有什么区别? 如果有人想进一步调查,我刚刚进行了测试,发现它很容易复制。