慢查询
mysql> show variables like '%slow%';
show variables like '%long%';
修改配置文件
[mysqld]
slow_query_log = on 开启慢查询日志
long_query_time = 1查询时间超过1秒的开始记录。系统默认为10秒
slow_launch_time = 2表示如果建立线程花费了比这个值更长的时间,slow_launch_threads 计数器将增加
注意的是:修改完重新加载(reload)配置不生效。必须重启才能生效。
大于等于1的sql语句就会被记录
2>.在全局配置修改慢查询参数
set global slow_query_log = on;
set global long_query_time = 1;
set session long_query_time = 1;
session 设置是当前的终端(会话)的慢查询时间。
Global设置是所有其他的终端慢查询时间。
这样修改直接生效。
查看慢查询日志,就会有记录。
show variables like '%slow%';
slow_query_log_file | /usr/local/mysql/data/centos-5-slow.log
3> Slow_queries:当前慢查询的个数
show status like '%slow%';
Uptime:服务器工作时间
show status like 'uptime';
通过 show profile 分析SQL
默认profiling是关闭的,可以通过set语句在session级别开启
开启profiling
mysql> set profiling=1;
mysql> show profiles; #查看所有执行的sql语句
mysql> show profile for query 1;
查询id为1的语句,查看sql执行过程中线程的每个状态和消耗时间