mysql开启慢查询分析与一些命令设置

 

【命令行版】

show variables like '%slow_query_log%'; --查看慢查询状态

show variables like 'long_query_time%'; --查看慢查询阈值时间设置
set global long_query_time=3; --设置慢查询阈值
show global status like '%Slow_queries%';--慢查询日志条数查询

 

【配置版】

[mysqld]
slow_query_log=1;
slow_query_log_file=/var/lib/mysql/luban-slow.log
log_query_time=3;
log_output=FILE

 

【profile】
show profile
set profiling=on;
show variables like 'profiling';
show profiles; --查看所有的profile记录
show profile cpu,block io for query --processid --查看具体某个ID的查询详情

type:
ALL --显示所有的开销信息
BLOCK IO --显示块IO相关开销
CONTEXT SWITCHES --上下文切换相关开销
CPU --显示CPU相关开销信息
IPC --显示发送和接受相关开销信息
MEMORY --显示内存相关开销信息
PAGE FAULTS --显示页面错误相关开销信息
SOURCE --显示和SOURCE_FUNCTION,SOURCE_FILE,SOURCE_LINE相关的开销信息
SWAPS --显示交换次数相关开销的信息

【结果】
converting HEAP to MyISAM --查询结果太大,内存都不够用了,往磁盘上搬
createing tmp table --创建临时表。分为:拷贝数据到临时表和用完再删除
copying to tmp table on disk --把内存中的临时表数据搬到磁盘上了,很危险!
locked

 

 
posted @ 2020-11-08 12:22  Java民工陆小凤  阅读(191)  评论(0编辑  收藏  举报