这篇文章主要介绍了mysql的慢查询分析调优工具显示概要怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获、下面让小编带着大家一起了解一下。
显示配置文件也是mysql服务自带的分析调优工具,不过这款更高级,比较接近底层硬件参数的调优。
引用>show variables like & # 39;分析% & # 39;;//默认关闭,保存近15次的运行结果
set profiling =,,
show 型材; 备注: show 预警;//可以显示警告和报错的信息
命令:show profile cpu、block io for query query_id; 例子: block  show profile cpu; io for query 3; 通过状态一列,可以看到整条SQL的运行过程 1只,starting //开始 2只checking permissions //检查权限 3只Opening tables //打开数据表 4只init //初始化 5只System lock //锁机制 6只optimizing //优化器 7只statistics //分析语法树 8只;prepareing //预准备 9只executing //引擎执行开始 10只,最终获得;//引擎执行结束 11只query 最终获得;//查询结束 …… 12只closing tables //释放数据表 13只freeing items //释放内存 14只cleaning up //彻底清理
类型: ALL //显示索引的开销信息 BLOCK IO //显示块IO相关开销 CONTEXT SWITCHES ,//上下文切换相关开销 CPU //显示CPU相关开销信息 IPC //显示发送和接收相关开销信息 MEMORY //显示内存相关开销信息 PAGE FAULTS //显示页面错误相关开销信息 SOURCE //显示和source_function, source_file, source_line相关的开销信息 SWAPS //显示交换次数相关开销的信息
如出现以下一种或者几种情况,说明SQL执行性能极其低下,亟需优化 *,converting HEAP 用MyISAM ,//查询结果太大,内存都不够用了往磁盘上搬了 *,Creating tmp  table //创建临时表:拷贝数据到临时表,用完再删 *,Copying 用tmp table 提醒disk //把内存中临时表复制到磁盘,危险 *,locked //出现死锁<强>通过查询数据表来诊断SQL(第二种查询方式)强>
select *,得到information_schema.profiling;此方式诊断较简单(参数少,适合定位有问题的SQL),记录到数据库(建议只在测试库环境进行)
<强>设置强>
方式1:命令行 1只,set global general_log =, 1; 2只;set global log_output =, & # 39;表# 39;;方式2:配置文件 。*,vim my . cnf中所做 general_log =1 general_log_file =/道路/日志文件 时间=log_output 文件 *,重启MySQL服务<强>诊断SQL 强>
select *,得到mysql.general_log;