广州做公司网站推广计划怎么做
目录
- 一. mysql Show Profile
- 使用步骤
- 实际生产中重点关注"Status"列中的以下四个
一. mysql Show Profile
- 解释: 正常情况下,开启慢查询日志,使用explain对sql进行分析优化可以解决一大部分慢sql的问题,但是极端情况下可能还会存在问题,例如网络连接问题,锁问题等,需要更加细粒度的排查,这时候就需要用到 Show Profile
- Show Profile 作用: 是MySql提供用来分析当前会话中执行的消耗情况的工具,可用于sql调优的测量,默认情况下是关闭状态,并保存了最近15次的运行结果官网
使用步骤
- 查看当前Show Profile 状态是否开启
show variables like 'profiling';
#或
show variables like 'profiling%';
- 开启 Show Profile
set profiling=on;
- 执行实际的查询sql例如
select * from emp group by id%10 limit 150000;
select * from emp group by id%20 order by 5;
- 执行查看Show Profiles记录,其中"Query_ID"列中显示了执行sql的执行id, "Duration"列中显示的当前执行的sql执行时间,"Query"列中显示的当前实际执行的sql
show profiles
- 在上图中找到出现问题查询慢的sql的Query_id执行id,进行诊断,例如此处查看执行sql的cpu开销与io情况使用"cpu.block io"命令
#后面的数字是在执行"show profiles"命令后,定位到的有问题的sql的Query_id执行id
show profile cpu, block io for query 3;
- Show Profile 命令解释(上面举例了查看执行sql的cpu与io情况,另外还可以开多种状态下的情况)
- 以上上面通过"show profile cpu, block io for query x" 查询执行id为x的sql的cpu与磁盘io情况为例,在Status列中显示了很多执行类型的状态情况
实际生产中重点关注"Status"列中的以下四个