当前位置: 首页 > 面试题库 >

MySQL长查询进度监控

张昊穹
2023-03-14
问题内容

只是为了提出我的问题,我了解没有直接支持这样的事情。我正在寻找的是任何一种变通方法,或者令人费解的推导方法,可以使我得到半数可观的结果。

我正在使用群集引擎处理一个相当大的MySQL群集(表> 4亿行)。

有谁知道一种 直接 通过mysql中的长查询 直接检索
或以其他方式(或更好)得出进度的准确指示的方法吗?我有一些查询可能最多需要45分钟的时间,因此我需要确定处理过程中我们是10%还是90%。

编辑:

根据评论中的要求,这里是导致我提出原始问题的 一个 问题的提炼和概括版本…

SELECT `userId`
FROM    `openEndedResponses` AS `oe`
WHERE
    `oe`.`questionId` = 3 -- zip code
    AND (REPLACE( REPLACE( `oe`.`value`, ' ', '' ), '-', '' ) IN ( '30071', '30106', '30122', '30134', '30135', '30168', '30180', '30185', '30187', '30317', '30004' ));

该查询是针对具有约9500万行的单个表运行的。运行查询需要8秒钟,传输数据又需要13秒钟(总计21秒钟)。考虑到表的大小以及正在使用的字符串操作函数,我想说它运行得非常快。但是,对于用户而言,卡住或闲置仍然是21秒。一些进展的指示将是理想的。


问题答案:

就我个人的具体情况而言,到目前为止,似乎还没有真正的解决方案。由于我无法将查询拆分为几个较小的查询,并且事实证明,这种查询select count(*)首先会适得其反,然后再运行“真实”查询(将本来已经很慢的查询的执行时间加倍),所以任何一种解决方法似乎都不可行。也许很快,MySQL将支持类似这样的东西



 类似资料:
  • 问题内容: 我试图了解一个PHP-MySQL项目。该项目非常复杂,因此很难逐行对其进行探索。 我想做的是,比较一个MySQL数据库的实例。 说, 1)MySQL已启动并正在运行。这是数据库的第一个实例。2)用户从PHP前端登录,然后注销。3)这是数据库的第二个实例。 我需要以友好的方式查看实例一和实例二之间的变化。 关于开源工具或任何其他技术的任何建议? 问题答案: 您可以使用mysqldump拍

  • 问题内容: 我问这个问题是因为我需要在我的PHP脚本中生成 SELECT 查询时知道此限制,并且此查询中的 WHERE 部分是在循环内生成的。 恰好看起来像这样 因此,这就是为什么我需要知道我的 $ query 字符串可以有多长的原因,因为数组 $ uol_metadata_arr 可以包含许多项目。 问题答案: (如果可能)使用 您可能需要增加max_allowed_pa​​cket。它默认为1

  • 监控查询支持用户自定义查询平台中的虚拟机、宿主机等资源的CPU、内存、磁盘、网络等指标的监控信息等。 监控查询支持用户自定义查询平台中的虚拟机、宿主机等资源的CPU、内存、磁盘、网络等指标的监控信息等。 入口:在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “监控/监控/监控查询” 菜单项,进入监控查询页面。 添加查询 该功能用于自定义监控数据图表。在左侧查询条件中自定义指标、过滤条件、聚

  • 问题内容: 有没有一种方法可以在Kibana中查询某个长度的值? 例如,给定以下两个KV对: 我想搜索key.length> 5并仅检索“某物”。 我看到的另一个选项是从logstash添加标签,但是随后我将不得不重新加载几百GB。 问题答案: 您可以在 Kibana中 使用脚本查询来执行此 操作 。Kibana中的脚本查询,有一个键长度大于5的脚本查询示例: 并且您还需要在 elasticsea

  • 在GET操作中,我们对查询参数的长度是否还有任何限制。前面我想我用的是255,这似乎增加了,但我不知道增加的限制是什么。 我面临的问题是,我尝试GETendpoint,如http://localhost:8080/data/ids=<5000 comma seaprated ids>,但失败了 但是具有500个ID(如http://localhost:8080/data/ids=<500 comm

  • 这就是我得到的: DOMNodeList对象([长度]=>0)