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 @   Java民工陆小凤  阅读(192)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
点击右上角即可分享
微信分享提示