当前位置:网站首页>1:开启慢查询日志 与 找到慢SQL
1:开启慢查询日志 与 找到慢SQL
2022-07-28 05:21:00 【performer丶】
为什么要开启慢查询?
找到要优化的sql,慢查询日志是mysql自带的一项功能,可以记录执行超过指定时间的sql语句。
怎么开启慢查询
1:修改配置文件my.conf,(需要重启,配置永久有效,不会丢失)
查找my.cnf 文件
- linux 下默认路径一般为 /etc/my.cnf (windows下叫my.ini)
- 添加以下内容到 [mysqld] 下
service mysqld restart
#开启慢查询日志
slow_query_log=ON
#耗时多长会记录到慢查询日志中(秒)
long_query_time=0.5
#慢查询日志的存储方式,可以同时支持 文件和表存储
log_output='FILE,TABLE'

- 重启mysql 服务器, 输入
SHOW VARIABLES LIKE 'slow_query_log'查询是否开启 ,ON已经开启
2:通过全局变量设置(无需重启,一旦重启,配置丢失)
- 在客户端直接执行 以下命令
SHOW VARIABLES LIKE 'slow_query_log'
SET GLOBAL slow_query_log = 'ON';
SET GLOBAL long_query_time = 0.001;
SET GLOBAL log_output = 'FILE,TABLE';


找到慢SQL
通过表查询
- 当slow_query_log 包含 TABLE 时,可直接通过sql 查询 ,如果没有,有可能是刚开启,还没查询到超时的sql
SELECT * FROM mysql.slow_log

- 部分字段含义
start_time 执行这条sql语句的时间
user_host 用户名 和主机名
query_time 查询sql语句花费的时间
lock_time 获取锁的时间
rows_sent 返回的行数
rows_examined 服务器查询的行数
db 查询的数据库
sql_text 执行的sql语句
thread_id 执行的线程id
- 例如我们可以按照耗时时间进行排序 ,查询出最耗时的sql
SELECT
*
FROM
mysql.slow_log
ORDER BY query_time DESC

通过文件查询
- 首先需要开启 FILE ,可以通过
SHOW VARIABLES LIKE 'log_output'查询是否开启 文件存储
- 在查询日志存储的路径 可以通过
SHOW VARIABLES LIKE 'slow_query_log_file'查询


- 可以使用mysqldumpslow 分析:
例如:查询出耗时最长的 前10条语句
mysqldumpslow -s t -t 10 -a xxx-slow.log

- 具体参数如下:
* mysqldumpslow --help
Usage: mysqldumpslow [ OPTS... ] [ LOGS... ]
Parse and summarize the MySQL slow query log. Options are
--verbose verbose
--debug debug
--help write this text to standard output
-v 展示更详细的信息
-d debug
-s ORDER 以哪种方式排序,默认at
al: 平均锁定时间
ar: 平均返回记录数
at: 平均查询时间
c: 访问计数
l: 锁定时间
r: 返回记录
t: 查询时间
-r 将-s的排序倒序
-t NUM top n的意思,展示最前面的几条
-a 不去将数字展示成N,将字符串展示成'S'
-n NUM abstract numbers with at least n digits within names
-g PATTERN 后边可以写一个正则,只有符合正则的行会展示
-h HOSTNAME 慢查询日志以 主机名-slow.log的格式命名,-h可指定读取指定主机名的慢查询日志,默认情况下是*,读取所有的慢查询日志
-i NAME MySQL Server的实例名称(如果使用了mysql.server startup脚本的话)
-l 不将锁定时间从总时间中减去
边栏推荐
猜你喜欢

Flex elastic box item properties

Zotero - a document management tool

万变不离其宗-掌控者靶场之bluecms1.6漏洞

(php毕业设计)基于php小说网站管理系统获取

Model builder of ArcGIS

Making E-R diagram based on XMIND

结果填空 凑算式(DFS*C语言)

初识Flask

Acquisition of mental health service system based on PHP (PHP graduation design)

(php毕业设计)基于php学生日常行为管理系统获取
随机推荐
(php毕业设计)基于php在线旅游网站管理系统获取
登录时密码错误次数过多,对该用户进行封禁,
进程线程协程的区别
CTF常见加密方式JS
(php毕业设计)基于php校园网络报修管理系统获取
数藏如何实现WEB3.0社交
Books - Templeton teaches you reverse
Books - social animals
出游不易,看景区用数字藏品刷存在感
Thinking on Architecture Design (SSO design)
Add the corresponding subscripts of multiple arrays in the object
Time setting in curd component
(php毕业设计)基于php学生日常行为管理系统获取
Help document making based on easy CHM and vs
Example of MySQL processing legacy data
设置滚动条
(php毕业设计)基于php用户在线投稿管理系统获取
uniapp uview组件库的使用方法(下载方式)
疫情当下,线下文旅受困,看数字藏品能否解围?
Some problems of ArcGIS Engine Installation