使用以下语句可以查询相关的配置和日志所在位置:

show variables like '%slow%';

名词解释:

log_slow_admin_statements: 打开后可以将一些比较慢的管理语句,如optimize table,analyze table,alter table 等操作写入到慢查询语句。

log_slow_slave_statements: 可以将一些复制查询的语句写入到慢查询log中

slow_launch_time: 判定thread create是否超过阈值,超过这个值得语句将会被写入到log中。

slow_query_log:是否写慢查询log的开关

slow_query_log_file:慢查询日志所在的相对路径,默认在数据库的管理目录下,windows在C:\ProgramData\MySQL\MySQL Server 5.7\Data\下。

可以使用这个语句,实时的查询当前的慢查询语句:

show global status like '%slow%';

显示累计到当前的所有慢查询的数目。

使用以下语句,查询当前慢查询的SQL语句的阈值:

show variables like '%long_query_time%';

long_query_time: 当查询语句超过这个阈值,将会把SQL语句记录到慢日志里。

我们可以使用一些命令动态去启动,关闭和更改这些设置这一设置

SET GLOBAL slow_query_log =’ON’|’OFF’;

SET GLOBAL long_query_time = 3;

也可以去配置文件下进行手工配置,打开默认的配置文件my.cnf或者my.ini:

log-output=FILE

general-log=0

general_log_file="WIN-GSQ7DOK3HEL.log"

slow-query-log=1

slow_query_log_file="WIN-GSQ7DOK3HEL-slow.log"

long_query_time=5

slow_launch_time =3

重启MySQL服务,可以看到相应的参数以全局的形式被修改。

我们可以打开对应目录下的*************-slow.log 可以看一些执行比较慢的语句:

Notepad看到的日志可读性较差,可以使用notepad++等工具来查看,效果会比较好:

当然我们也可以使用Mysql自带的工具来查看日志,可以快速的提取我们需要的重要信息:

mysqldumpslow -r -t 2 日志目录\-slow.log

注意:如果没有perl环境需要首先安装perl环境,并在perl的bin目录下执行以下命令:

Perl mysqldumpslow.pl的路径 + mysqldumpslow -r -t 2 -a 日志目录\-slow.log

命令会展示出,系统中最慢的两条语句并按照升序排列。

MySQL慢查询语句的定位的更多相关文章

  1. 23个MySQL常用查询语句

    23个MySQL常用查询语句 一查询数值型数据: SELECT * FROM tb_name WHERE sum > 100; 查询谓词:>,=,<,<>,!=,!> ...

  2. MySQL 表查询语句练习题

    MySQL 表查询语句练习题: 一.  设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四个表的结构分别如表1-1的表 ...

  3. MYSQL——解题查询语句答题思路,再难的查询都不怕!

    select查询语句,作为测试人员,使用此语句是家常便饭,是必须掌握的部分,由开始学习mysql到网上搜索试题做,开始做题一塌糊涂,拿到题目就晕,无从下手,现在慢慢总结了一套自己做题的方式,很开森,嘿 ...

  4. mysql—常用查询语句总结

    关于MySQL常用的查询语句 一查询数值型数据: ; 查询谓词:>,=,<,<>,!=,!>,!<,=>,=< 二查询字符串 SELECT * FROM ...

  5. Mysql的查询语句(联合查询、连接查询、子查询等)

    Mysql的各个查询语句(联合查询.连接查询.子查询等) 一.联合查询 关键字:union 语法形式 select语句1 union[union选项] select 语句2 union[union选项 ...

  6. Mysql的查询语句的使用

    1. 简单查询 查询所有字段: SELECT * FROM 表名 查询特定字段: SELECT 字段列表 FROM 表名 2. 查询显示行号 - 在字段列表中加入(@rownum := @rownum ...

  7. mysql命令查询语句&MTdata

    1.单表查询 select * from student; 采用*效率低,不推荐,多用列名 一.单表查询的语法: SELECT 字段1,字段2... FROM 表名 WHERE 条件 GROUP BY ...

  8. mysql中查询语句中的一个知识点说明

    1, 简单说明. select * from tb_name where 1[不为零即可];则会显示所有记录,select * from tb_name where 0;则不显示任何记录 假设数据库中 ...

  9. MySQL简单查询语句练习

    数据查询语法(DQL) DQL就是数据查询语言,数据库执行DQL语句不会对数据进行改变,而是让数据库发送结果集给客户端. 语法: SELECT selection_list /*要查询的列名称*/ F ...

随机推荐

  1. phpBB3导入帖子的Python脚本

    关联的数据表 在phpBB3中导入用户时, 需要处理的有两张表, 一个是 topics, 一个是 posts.为了方便与原数据关联, 需要在这两个表上新增一个字段并建立唯一索引 ALTER TABLE ...

  2. Docker入门实践

    Docker是一门很成熟的容器技术,类似虚拟机技术主要用做环境的隔离,方便环境的复制镜像,虚拟机是基于操作系统这一层的,而Docker更加的轻量级,像是“应用”层级的.比如我需要一个MySQL环境.一 ...

  3. PHP为JSON数据的API返回空数组或者空对象

    在使用 JSON 作为 API 数据 Content-Type 的时候,会有这样一个问题: 如何返回一个空对象和一个空数组? 使用:json_encode(array())   得到JSON结果:[] ...

  4. Java 多线程重排序的探究

    最近在看<Java 并发编程实战>,之前对所谓的线程的重排序一脸懵逼,今天终于有了点理解. 我们先来看下这个实例Demo /** * 线程的重排序问题 * **/ public class ...

  5. 【基础篇】elasticsearch之索引模板Template[转]

    一,模板简述:template大致分成setting和mappings两部分:索引可使用预定义的模板进行创建,这个模板称作Index templates.模板设置包括settings和mappings ...

  6. HashMap中capacity、loadFactor、threshold、size等概念的解释<转>

    最近在看HashMap的源码,有很多概念都很模糊,今天写了一个测试例子,加深对这几个概念的理解,并演示了扩容及树化的过程(见下篇博文:). 注:本文基于JDK 1.8  HashMap的结构 约定 约 ...

  7. 【nodejs】exports 和 module.exports 的区别

    require 用来加载代码,而 exports 和 module.exports 则用来导出代码.但很多新手可能会迷惑于 exports 和 module.exports 的区别,为了更好的理解 e ...

  8. git踩过的坑

    一.git 解决fatal: Not a git repository 我用git add file添加文件时出现这样错误: fatal: Not a git repository (or any o ...

  9. python 将函数参数一键转化成字典的技巧,非**kwargs,公有方法和函数抵制kwargs。

    1.有时候使用设计模式,例如工厂方法模式,函数传的参数还需要一一根据条件传递到各个类里面去实例化或者其他原因,直接复制所有的参数看起来不太好,造成很多相同的行. 2.直接函数/方法中写**kwargs ...

  10. k8s(4)-使用服务公开应用程序

    Kubernetes中的服务是一个抽象,它定义了一组逻辑Pod和一个访问它们的策略.服务允许从属Pod之间的松散耦合.与所有Kubernetes对象一样,使用YAML (首选)或JSON 定义服务.服 ...