在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

如何从MYSQL查询日志中过滤出的慢查询日志并找出TOP SQL

105次阅读
没有评论

共计 2745 个字符,预计需要花费 7 分钟才能阅读完成。

如何从 MYSQL 查询日志中过滤出的慢查询日志并找出 TOP SQL,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

  在 MYSQL 慢查询日志中 # Time 中只有时间但没有日期的信息,需要知道一条慢查询 SQL 具体是哪天的,
就需要 unix_timestamp 函数把 # Time 中的时间戳信息转换为日期信息。

unix_timestamp(datetime= timestamp)
from_unixtime(timestamp= datetime)

mysql select unix_timestamp(2021-10-26 17:30:00
+—————————————+
| unix_timestamp(2021-10-26 17:30:00) |
+—————————————+
|  1451122200 |
+—————————————+
1 row in set (0.10 sec)

select from_unixtime(1451122200

mysql select from_unixtime(1451122200
+—————————–+
| from_unixtime(1451122200) |
+—————————–+
| 2021-10-26 17:30:00.000000  |
+—————————–+

过滤出 16:30 到 17:30 的慢查询日志
方法一:使用时间戳过滤
mysql select unix_timestamp(2021-10-26 17:30:00
+—————————————+
| unix_timestamp(2021-10-26 17:30:00) |
+—————————————+
|  1451122200 |
+—————————————+
1 row in set (0.00 sec)

mysql select unix_timestamp(2021-10-26 16:30:00
+—————————————+
| unix_timestamp(2021-10-26 16:30:00) |
+—————————————+
|  1451118600 |
+—————————————+
1 row in set (0.00 sec)

sed -n  /SET timestamp=14511186../,/SET timestamp=14511222../ p QITV0223-slow.log test3.log

方法二:
mysql select unix_timestamp(2015-12-26 16:30:00
+—————————————+
| unix_timestamp(2021-10-26 16:30:00) |
+—————————————+
|  1451118600 |
+—————————————+

sed -n  /SET timestamp=14511186../,$ p QITV0223-slow.log test4.log

mysql select unix_timestamp(2021-10-26 17:30:00
+—————————————+
| unix_timestamp(2021-10-26 17:30:00) |
+—————————————+
|  1451122200 |
+—————————————+

1 row in set (0.00 sec)

– 使用 gred 在 test4.log 定位到 17:30 执行的 SQL,比如定位出在 1085 行
grep -n SET timestamp=14511222..   QITV0223-slow.log  test4.log
1085:SET timestamp=1451122200;

– 使用 sed 过滤出第一行到 1085 行的数据
sed -n 1,1085 p test3.log  test5.log

方法三:如果所有的 SQL 都有 #TIME 项,则使用 #TIME 进行过滤

sed -n  /# Time: 151226 16:30:../,/# Time: 151226 17:30:../ p QITV0223-slow.log test10.log
如果没有匹配到“# Time: 151226 17:30:..”,则会把从 16:30 到慢查询日志结尾的日志全过滤出来。

对于过滤好的慢查询日志检索 TOP SQL:

1. 获取执行时间最长的 10 个 TOP SQL。
mysqldumpslow -s t -t 10 test10.log slow_t_top_sql.txt

2. 获取平均查询时间最长的 10 个 TOP SQL。

mysqldumpslow -s  at -t 10 test10.log slow_at_top_sql.txt

3. 获取锁定时间最长的 10 个 TOP SQL。

mysqldumpslow -s l -t 10 test10.log slow_l_top_sql.txt

4. 获取平均锁定时间最长的 10 个 TOP SQL。

mysqldumpslow -s al -t 10 test10.log slow_l_top_sql.txt

5. 获取返回记录最多的 10 个 TOP SQL。

mysqldumpslow -s r -t 10 test10.log slow_r_top_sql.txt

6. 获取平均返回记录最多的 10 个 TOP SQL。

mysqldumpslow -s ar -t 10 test10.log slow_r_top_sql.txt

7. 获取执行次数最多的 10 个 TOP SQL。

mysqldumpslow -s c -t 10 test10.log slow_r_top_sql.txt

看完上述内容,你们掌握如何从 MYSQL 查询日志中过滤出的慢查询日志并找出 TOP SQL 的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注丸趣 TV 行业资讯频道,感谢各位的阅读!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-19发表,共计2745字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 国产精品无码无卡无需播放器 | 中文在线最新版天堂 | 日韩免费高清视频网站 | 成人免费无码视频在线网站 | 俺来也俺来也天天夜夜视频 | 四虎影院4hu | 破处一级片 | 久久国产精品日本波多野结衣 | 免费扒丝袜在线观看网站 | 国产精品一区三区 | 精品自拍视频在线观看 | 亚洲国产综合久久精品 | 国产精品视频一区二区噜噜 | 中文字幕色偷偷人妻久久 | 被群cao的合不拢腿h纯肉视频 | 日本xxxx色视频在线观看 | 热久久免费| 亚洲性无码一区二区三区 | 国产欧美另类久久久精品免费 | 欧美颜射内射中出口爆在线 | 国产精品天天影视久久综合网 | 亚洲+国产+图片 | 666夜色666夜色国产免费看 | 中文国产成人精品久久久 | 黄色软件在线免费看 | 中文字幕天天躁日日躁狠狠躁免费 | 欧美日韩一区二区高清视 | 国内精品综合久久久40p | 99这里只有精品在线 | 在线91精品亚洲网站精品成人 | 国产精品第44页 | 国产成人无码免费看片软件 | 亚洲视屏 | 国产在线精品一区二区在线观看 | 香蕉久久一区二区不卡无毒影院 | 亚洲最大激情中文字幕 | 黄色免费一级片 | 成午夜精品一区二区三区 | 欧美xxx免费视频 | 国产亚洲美女精品久久久久狼 | 国产高清国产专区国产精品 |