博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL慢查询语句的定位
阅读量:6935 次
发布时间:2019-06-27

本文共 1301 字,大约阅读时间需要 4 分钟。

 

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

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

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

 

转载于:https://www.cnblogs.com/wanghao4023030/p/8652266.html

你可能感兴趣的文章
无法写入预编译头文件,由于 IO 设备错误,无法运行此项请求的错误的解决
查看>>
Android自定义组件系列【10】——随ViewPager滑动的导航条
查看>>
简述Java内存泄露
查看>>
c语言学习笔记(3)——输入输出
查看>>
iPhone地图 实战iPhone GPS定位系统
查看>>
冲刺8
查看>>
Linux的vi常用命令详解
查看>>
java_jdbc_3层 解耦
查看>>
svn的常用命令
查看>>
Leetcode | Recover Binary Search Tree
查看>>
02-CSS基础与进阶-day7_2018-09-07-20-25-28
查看>>
maven springMVC SSM框架中 出现的406 (Not Acceptable)
查看>>
123123
查看>>
js的几种面向对象
查看>>
Angular ui-roter 和AngularJS 通过 ocLazyLoad 实现动态(懒)加载模块和依赖
查看>>
To Learn
查看>>
微信支付v2开发(5) 订单查询
查看>>
简单小练习_自定义快捷键
查看>>
Linux基础----管道、重定向、软链接、硬链接简介
查看>>
N个数的数组求N-1个数组合乘积最大的一组
查看>>