龙空技术网

关于mysql里面的慢查询

川石信息 138

前言:

今天小伙伴们对“mysql怎么查看慢查询”大致比较注意,你们都需要了解一些“mysql怎么查看慢查询”的相关内容。那么小编同时在网络上收集了一些对于“mysql怎么查看慢查询””的相关知识,希望同学们能喜欢,看官们一起来学习一下吧!

慢查询又叫长查询,简单的理解就是消耗时间比较长的查询语句

一、开启慢查询

查看慢查询是否开启的相关变量信息

查看变量信息语句的语法SHOW VARIABLES LIKE '%变量名%'

与慢查询相关的变量有以下两个:

SHOW VARIABLES LIKE '%slow_quer%'如果log_slow_queries变量的值显示为OFF那么需要重新设置这个值,设置的语法SET @log_slow_queries = ONSHOW VARIABLES LIKE '%long%'表示查询的时间多长为慢查询

关于如何设置mysql的慢查询,不同的mysql版本可能会有一些不同,但原理都一样

window下开启慢查询的步骤如下:

1.找到mysql的配置文件,在mysql安装目录下有一个my.ini的配置文件。

但是通常在mysql的目录下可以看到多个不同的配置文件,通常包含:my.ini、my-huge.ini、my-innodbheavy-4G.ini、my-large.ini、my-medium.ini、my-small.ini,这些其实都是mysql的配置文件,只是针对不同的情况下的不同设置。

2.在my.ini配置文件中的[mysqld]部分添加以下代码即可

//设置慢查询时间,超过2秒视为慢查询long_query_time=2//设置慢查询的日志文件log_slow_queries=c:/slow.log

类Unix下开启慢查询的步骤如下:

1.找系统中mysql的配置文件/ect/my.cnf

但是很多时间我们在/etc目录下并不能找到my.cnf文件,那么可以在/usr/share/mysql目录下找到一些相关的配置文件:my-huge.cnf、my-innodb-heavy-4G.cnf、my-large.cnf、my-medium.cnf、my-small.cnf,将这些配置文件中的任意一个文件拷贝到/etc目录下,并将文件名改为my.cnf。

2.在my.cnf配置文件中的[mysqld]部分添加以下代码即可

//开启慢查询log_slow_queries = ON//慢查询日志文件所在位置log-slow-queries = /var/run/mysqld/slow_querys.log//设置慢查询的时间long_query_time = 3//没有使用索引的SQL语句也会被记录下来log-queries-not-using-indexes//管理员相关的操作也会被记录下来log-slow-admin-statements
二、分析慢查询日志文件

如果出现慢查询就会将慢查询的结果记录到日志文件中,呈现在日志文件中的格式如下:

# Time: 190908 14:21:40# User@Host: root[root] @ localhost [127.0.0.1]# Query_time: 5 Lock_time: 0 Rows_sent: 1 Rows_examined: 0select sleep(5);
第一行:执行这条SQL语句的时间第二行:客户端连接服务器的相关信息第三行:

Query_time:查询所消耗所的时间

Lock_time:等待锁的时间

Rows_sent:表示服务器向客户发送了几条数据

Rows_examined:表示服务器端一共检索多少条记录,相当在多少行数据中进行扫描,找到我们要的数据,这个值越小越好,避免全表扫描。

select sleep(5):执行的SQL语句

标签: #mysql怎么查看慢查询