只是为了说明我的问题,我知道没有直接支持这样的东西。我所寻找的是任何类型的解决方法,或复杂的派生,这将得到一个令人尊敬的结果。
我正在使用一个相当大的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秒出现卡住或空闲。一些进展的迹象将是理想的。