MySQL——SQL查询优化

慢查询日志 slow_query_log 启动停止记录慢查询日志,默认不启动 slow_query_log_file 指定慢查询日志的存储路径以及文件,默认情况下保存在MySQL的数据目录中 long_query_time 指定记录慢查询日志SQL执行时间的阈值,默认值为10秒,通常改为0.001秒也就是1毫秒可能比较合适 log_queries_not_using_indexes 是否记录未使用索引的SQL 设置开启慢查询

set global slow_query_log=on
set global long_query_time=0.001
set global slow_query_log_file='/var/lib/mysql/slow.log'
慢查询分析工具

官方内置mysqldumpslow

mysqldumpslow -s r -t 10 slow.log

参数含义: -s order (c, t, l, r, at, al, ar) 指定按照那种排序方式输出结果 c: 总次数 t: 总时间 l: 锁的时间 r: 总数据行 at, al, ar : t,l,r 平均数量,例如:at = 总时间/总次数 -t top 指定取前几条作为结果输出

推荐使用 pt-query-digest

官方安装地址https://www.percona.com/doc/percona-toolkit/LATEST/installation.html

brew install percona-toolkit

pt-query-digest --explain h=127.0.0.1, u=root, p=p@ssWord slow-mysql.log

实时获取存在性能问题的SQL

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券