首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Percona Toolkit查询摘要未读取慢查询日志中的所有查询

Percona Toolkit查询摘要未读取慢查询日志中的所有查询
EN

Stack Overflow用户
提问于 2019-05-07 03:20:41
回答 1查看 99关注 0票数 0

我从RDS收集了一组缓慢的查询日志,并将它们放在一个文件中。尝试通过pt-query-digestfollowing instructions here运行它,但它将整个文件作为一个查询读取。

命令:

代码语言:javascript
复制
pt-query-digest --group-by fingerprint --order-by Query_time:sum collider-slow-query.log > slow-query-analyze.txt

输出,显示它只分析了一个查询:

代码语言:javascript
复制
# Overall: 1 total, 1 unique, 0 QPS, 0x concurrency ______________________

这里只有一个简短的片段,其中包含来自被分析文件的两个查询,以演示有许多查询:

代码语言:javascript
复制
2019-05-03T20:44:21.828Z # Time: 2019-05-03T20:44:21.828954Z
# User@Host: username[username] @  [ipaddress]  Id:    19
# Query_time: 17.443164  Lock_time: 0.000145 Rows_sent: 5  Rows_examined: 121380
SET timestamp=1556916261;
SELECT   wp_posts.ID FROM wp_posts  LEFT JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id) WHERE 1=1  AND wp_posts.ID NOT IN (752921) AND ( 
  wp_term_relationships.term_taxonomy_id IN (40)
) AND wp_posts.post_type = 'post' AND ((wp_posts.post_status = 'publish')) GROUP BY wp_posts.ID ORDER BY wp_posts.post_date DESC LIMIT 0, 5;
2019-05-03T20:44:53.597Z # Time: 2019-05-03T20:44:53.597137Z
# User@Host: username[username] @  [ipaddress]  Id:    77
# Query_time: 35.757909  Lock_time: 0.000054 Rows_sent: 2  Rows_examined: 199008
SET timestamp=1556916293;
SELECT post_id, meta_value FROM wp_postmeta
                WHERE meta_key = '_wp_attached_file'
                AND meta_value IN ( 'family-guy-vestigial-peter-slice.jpg','2015/08/bobs-burgers-image.jpg','2015/08/bobs-burgers-image.jpg' );

为什么它不读取所有的查询?我的连接有问题吗?

EN

回答 1

Stack Overflow用户

发布于 2019-10-29 21:03:07

我也有同样的问题。事实证明,一些额外的时间戳存储在SQL中(通过这个变量:https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_log_timestamps)。

这使得pt-query-digest看不到单独的查询。可以通过关闭timestamp变量或删除timestamp来轻松修复:

代码语言:javascript
复制
2019-10-28T11:17:18.412 # Time: 2019-10-28T11:17:18.412214
# User@Host: foo[foo] @  [192.168.8.175]  Id: 467836
# Query_time: 5.839596  Lock_time: 0.000029 Rows_sent: 1  Rows_examined: 0
use foo;
SET timestamp=1572261432;
SELECT COUNT(*) AS `count` FROM `foo`.`invoices` AS `Invoice`   WHERE 1 = 1;

通过删除第一个时间戳( 2019-10-28T11:17:18.412部分),它可以再次工作。

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

https://stackoverflow.com/questions/56011156

复制
相关文章

相似问题

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