当前位置:网站首页>MySQL 慢查询
MySQL 慢查询
2022-08-01 16:58:00 【m0_61083409】
一、什么是慢查询
慢查询,顾名思义,执行很慢的查询。有多慢?超过long_query_time参数设定的时间阈值(默认10s),就被认为是慢的,是需要优化的。慢查询被记录在慢查询日志里。慢查询日志默认是不开启的。如果需要优化SQL语句,就可以开启这个功能,它可以让你很容易地知道哪些语句是需要优化的。
1show variables like 'slow_query_log';查询是否开启慢查询日志
【开启慢查询sql:set global slow_query_log = 1/on;】
【关闭慢查询sql:set global slow_query_log = 0/off;】
2show variables like 'log_queries_not_using_indexes';查询未使用索引是否开启记录慢查询日志
【开启记录未使用索引sql:set global log_queries_not_using_indexes=1/on】
【关闭记录未使用索引sql:set global log_queries_not_using_indexes=1/off】
3show variables like 'long_query_time';查询超过多少秒的记录到慢查询日志中
【设置超1秒就记录慢查询sql:set global long_query_time= 1;设置超1秒就记录】
二、慢查询的配置文件 my.cnf
在MySQL的配置文件my.cnf中写上:
long_query_time = 10
log-slow-queries = /var/lib/mysql/mysql-slow.log
long_query_time是指执行超过多久的SQL会被日志记录下来,这里是10 秒。log-slow-queries设置把日志写在哪里。为空的时候,系统会给慢查询日志赋予主机名,并加上slow.log。如果设置了参数log-long-format,那么所有没有使用索引的查询也将被记录。
这是一个非常有用的日志。它对于性能的影响不大(假设所有查询都很快),并且强调了那些最需要注意的查询(丢失了索引或索引没有得到最佳应用)。
三、慢查询解读
第一行:记录时间
第二行:用户名 、用户的IP信息、线程ID号
第三行:执行花费的时间【单位:毫秒】、执行获得锁的时间、获得的结果行数、扫描的数据行数
第四行:这SQL执行的时间戳
第五行:具体的SQL语句
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
边栏推荐
猜你喜欢
随机推荐
访问域名直接访问wordpress
ROS2支持技术:DDS简述
金仓数据库 OCCI迁移指南(2. 概述)
C#Excel帮助类
70后夫妻给苹果华为做“雨衣”,三年进账7.91亿
Ali's official Redis development specification
LeetCode Week 303
【paper】Cam2BEV论文浅析
Description of common operations and help projects about DevExpress in C#
下载 | 谷歌科学家Kevin P. Murphy发布新书《概率机器学习:高级主题》
夸克网盘资源站
DateTime Helper Class for C#
SQL函数 TIMESTAMPDIFF
Ant discloses the open source layout of core basic software technology for the first time
如何有效地开发 Jmix 扩展组件
Daily Yuxian Big Defeat
zabbix部署和简单使用
Winform message prompt box helper class
短剧正在抢长剧的生意
DOM series of touch screen events









