Sql性能调优——Mysql慢查询

-- 查看数据库连接次数

SHOW STATUS LIKE 'connections';
-- 查询mysql是否启用慢查询记录日志 OFF默认禁用
SHOW VARIABLES LIKE 'slow_query_log';

第一种设置方法:设置后,mysql重启后,还是会获取my.ini的值

-- 设置启用慢查询记录日志,设置成功后,会在目录(我本地的C:/ProgramData/MySQL/MySQL Server 5.5/Data/)新增一个日志文件DESKTOP-KD9H54U-slow.log

set global slow_query_log='on'; 
-- 设置慢查询时间为1s,但是mysql重启之后,还是会获取my.ini的值,默认10s

SET long_query_time=1;

第二种设置方法:可永久设置

打开my.ini文件,增加

slow_query_log = ON
long_query_time = 1

重启mysql,即可生效

Sql性能调优——Mysql慢查询_第1张图片

-- 查询慢查询的设置时间 ,mysql默认10s(mysql默认把sql执行语句超过10s的称为慢查询)
SHOW VARIABLES LIKE 'long_query_time';

-- 查询慢查询次数,查询执行sql超过10s的(sql语句查询时间超过10s的次数)

SHOW STATUS LIKE 'Slow_queries';

查看慢查询日志文件

1、打开mysql安装路径下面的F:\Program Files\MySQL\MySQL Server 5.5目录下面的my.ini;

Sql性能调优——Mysql慢查询_第2张图片Sql性能调优——Mysql慢查询_第3张图片

mysql日志文件存放路径:C:/ProgramData/MySQL/MySQL Server 5.5/Data/;

当我执行sql:select sum(t.mobile),t.mobile,t.customerId,c.customerName,a.address from customer t,customer_info i,customer_account c,customer_address a 

where t.uuid=i.customerUuid and t.uuid= c.customerUuid and t.mobile=a.mobile and t.uuid in((select s.customerUuid from customer_source s)) GROUP BY t.mobile ;

查询时间超过1秒,此时打开日志文件DESKTOP-KD9H54U-slow.log,会出现我刚执行的sql语句。

Sql性能调优——Mysql慢查询_第4张图片

你可能感兴趣的:(Sql性能调优——Mysql慢查询)