首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在MySQL中重新创建显示概要文件变量的代码

问在MySQL中重新创建显示概要文件变量的代码
EN

Stack Overflow用户
提问于 2013-02-19 20:14:59
回答 1查看 269关注 0票数 0

嗨,我在用MySQL,

代码语言:javascript
复制
SHOW PROFILES;

返回一个长列表,其中的行如下所示:

代码语言:javascript
复制
 |Query_ID|Duration     |Query
>| 9    |    0.00028550 |   INSERT INTO Duration(Status,DURATION,Query_ID)|

我试图复制这个结果,这样我就可以将结果插入到表中并添加一个WHERE子句。

所以我试了一下

代码语言:javascript
复制
SELECT Query_ID, STATE, FORMAT(DURATION, 6) AS DURATION
FROM INFORMATION_SCHEMA.PROFILING
WHERE QUERY_ID = 9;

但这将返回一个较低级别的视图(我不希望这样):

先开0.000053张桌子0.000088张

这与以下相同:

代码语言:javascript
复制
SHOW PROFILE;

我将如何重新创建SHOW PROFILES?所以我可以这样表演:

代码语言:javascript
复制
INSERT INTO Duration(Query_ID,Status,DURATION)
SELECT * FROM SHOW PROFILE
WHERE PROFILE.QUERY_ID = 9;

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-19 21:21:26

QUERY_ID组。要获得状态,您需要记录的STATE与群最大 SEQ;要获得持续时间,只需将组中每个记录的DURATION之和:

代码语言:javascript
复制
INSERT INTO Duration
  (Query_ID, Status, DURATION)
SELECT QUERY_ID, STATE, t.DURATION
FROM   INFORMATION_SCHEMA.PROFILING JOIN (
  SELECT   QUERY_ID, MAX(SEQ) AS SEQ, SUM(DURATION) AS DURATION
  FROM     INFORMATION_SCHEMA.PROFILING
  WHERE    QUERY_ID = 9
  GROUP BY QUERY_ID  -- superfluous in the presence of the above filter
) t USING (QUERY_ID, SEQ)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14966529

复制
相关文章

相似问题

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