欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

如何进行 MySQL慢查询 操作

程序员文章站 2022-03-23 11:46:19
慢查询日志会把查询耗时超过规定时间的SQL语句记录下来,利用慢查询日志,定位分析性能的瓶颈。slow_query_log 可以设置慢查询日志的开闭状态long_query_time 可以规定查询超时的时间,单位是秒# 查看慢查询相关配置SHOW VARIABLES like 'slow_query%';# 配置slow_query_log = ONlong_query_time = 1set global slow_query_log =[on/off]# 最好能与 data分开...

慢查询日志会把查询耗时超过规定时间的SQL语句记录下来,利用慢查询日志,定位分析性能的瓶颈。

slow_query_log 可以设置慢查询日志的开闭状态

long_query_time 可以规定查询超时的时间,单位是秒

# 查看慢查询相关配置
SHOW VARIABLES like 'slow_query%';

# 配置
slow_query_log = ON
long_query_time = 1


set global slow_query_log =[on/off]
# 最好能与 data分开 
set global slow_query_log_file = /aaa/aaa.log
set global long_query_time = xx.xxx 秒
# 记录未使用索引的SQL
set global long_queries_not_using_indexes = [on|off] 

工具

mysqldumpslow [OPTS....] [LOGS...]

mysqldumpslow -s r -t 10 slow-mysql.log

-s 排序 (c总次数,t总时间,l锁的世界,r总行数,at,al,ar) a`x`是平均 例at= 总时间/总次数

-t top 指定取前几条

pt-query-digest [OPTIONS] [FILES] [DSN]

pt-query-digest --explain h=127.0.0.1,u=root,p=password slow-mysql.sql > slow.rep
--explain 带有解释
> 输出到指定文件

实时监控

select id,`user`,`host` ,`DB`,`command`,time,state,info
->FROM information_schema.PROCESSLIST
-> WHERE TIME >=10;

本文地址:https://blog.csdn.net/cocoa_geforce/article/details/110677264

相关标签: 数据库 MySQL