欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MySQL优化-慢查询

程序员文章站 2022-06-01 23:03:28
...

概念

查询超过指定时间的语句叫慢查询

查询

查询慢查询的指定时间

show variables like "%long%";
show status like "connections";

查询当前MySQL数据库是否开启了慢查询日志功能;

show VARIABLES like '%slow%';

配置

5.5版本配置

  1. 配置慢查询日志存放路径
在磁盘随意位置创建文件夹MysqlLog,并在文件夹内创建
  1. 更改Mysql/slow.log读写方式
文件夹右键---属性----安全----编辑----添加---高级----立即查找----Everyone--编辑--完全控制---确定
  1. 在my.ini文件中配置
log_slow_queries=ON  # 开启慢查询
long_query_time=2    # 设置规定的超时时间                             
slow_query_log=ON    # 开启慢查询日志
log_queries_not_using_indexes=ON  #如果没有用到索引查询,则记录到日志
slow_query_log_file="D:/MysqlLog/slow.log" # 日志文件所在的磁盘路径

5.7版本配置

slow_query_log的值是ON,代表当前数据库已经开启了慢查询功能。
slow_query_log_file表示慢日志的路径。
或者使用show variables like 'slow_query_log_file'命令也可以查看慢查询日志的路径

查看超过多少秒算是慢查询

show variables like 'long_query_time';

设置慢查询时间

set global long_query_time=4;这个4是慢查询的秒单位,慢查询时间为4秒

设置之后再次使用

show global variables like 'long_query_time';

查询有多少条慢查询

show global status like '%slow_queries%';

查看慢查询日志的存储方式

show variables like '%log_output%';
设置:set global log_output = 'TABLE';