Mysql查询之性能剖析

2017-03-31  本文已影响0人  1519f8ccc7b0

1. 性能优化简介

** 定义:性能优化即降低查询的响应时间;**
原则1:我们通过任务的响应时间而不是任务消耗的资源来衡量性能;
原则2:无法测量就无法有效的优化;

2. 剖析单条Mysql查询的方法

2.1 使用show profile

检查是否开启了查询剖析工具的命令:

show variables like '%profiling%';

打开剖析查询工具的命令:

set profiling=1;

查看查询语句query id:

show profiles;

查看查询语句query id.png

查看剖析结果:

show profile for [query id];

查看剖析结果.png

2.2 使用show status

show status命令返回了一些计数器,有些计数器是服务器级别的全局计数器,所以使用时最好清空下计数器;然后执行sql,最后再查看计数器;
第一步,清空计数器

flush status;

第二步,执行你的sql语句
第三步,查看计数器

show status where variable_name like 'Handler%' or variable_name like 'Created%';

2.3 使用慢查询日志

默认慢查询监控功能是关闭的,可以通过两种方式打开慢查询日志功能:

  1. 全局打开或关闭
    编辑my.cnf文件,添加long_query_slow=0,来捕获所有的查询。
  2. 临时打开,服务器重启后恢复关闭

set global long_query_slow=0;

  1. 查看mysql慢查询是否打开

show variables like '%slow%';

上一篇下一篇

猜你喜欢

热点阅读