首页 > 数据库 >【性能测试】Mysql之慢查询01

【性能测试】Mysql之慢查询01

时间:2024-02-12 20:44:04浏览次数:28  
标签:之慢 01 log mysql long 查询 slow Mysql query

一、Mysql常用监控指标

慢查询SQL 慢查询:指执行速度低于设置的阀值的SQL语句 作用:帮助定位查询速度较慢的SQL语句,方便更好的优化数据库系统的性能

1、开启MySQL慢查询日志

参数说明: slow_query_log: 慢查询日志开启状态[ON:开启,OFF:关闭] slow_query_log_file: 慢查询日志存放位置 long_query_time: 慢查询时长设置(超过该时长才会被记录,单位:秒)   设置步骤: 1). 查询相关参数配置
mysql> show variables like 'slow_query%';
+---------------------+---------------------------------------------------+
| Variable_name | Value |
+---------------------+---------------------------------------------------+
| slow_query_log | OFF |
| slow_query_log_file | /usr/local/mysql_data/mysql_slow.log |
+---------------------+---------------------------------------------------+
2 rows in set
mysql> show variables like 'long_query_time';
+-----------------+-----------+
| Variable_name | Value |
+-----------------+-----------+
| long_query_time | 10.000000 |
+-----------------+-----------+
1 row in set1 row in set

 

2)修改配置

-- 开启慢查询
set global slow_query_log = 'on';

-- 设置日志存放的路径
set global slow_query_log_file = '日志存放的路径';

-- 超过0.5s
set @@long_query_time = 0.5;

 这个long_query_time就是sql执行时间超过它,算是慢查询。

上面的修改方式,mysql重启后会失效;要永久生效,在mysql安装目录下的my.cnf(windows中是my.ini)中添加:

slow_query_log = on
slow_query_log_file = /路径
long_query_time = 0.5

2、测试

select sleep(4);
执行后,查看慢查询日志 /usr/local/mysql_data/mysql_slow.log linux下命令:
tail -20f /usr/local/mysql_data/mysql_slow.log

 select sleep(4);   语句就是存在慢查询的语句

3、备注

慢查询sql排查思路:

1.是否表数据量太大(考虑分库分表)
2.是否并发量过高
3.是否锁表
4.是否使用索引或索引没有生效
5.sql是否高效

  

  

  

 

  

标签:之慢,01,log,mysql,long,查询,slow,Mysql,query
From: https://www.cnblogs.com/xfbk/p/18014114

相关文章

  • P8674 [蓝桥杯 2018 国 B] 调手表
    原题链接题解一道思维题由于闹钟是圆的,所以从任意一个分钟数调到另外任意一个分钟数最多要按多少次相当于从点0调到1~n-1任意一点最多要按多少次可以把1~n看成一个一个点,就相当于单源最短路了md,好巧妙code#include<bits/stdc++.h>usingnamespacestd;structrefresh{......
  • 24/02/12 [六省联考 2017] 组合数问题
    题目描述组合数\(C_n^m\)表示的是从\(n\)个互不相同的物品中选出\(m\)个物品的方案数。举个例子,从\((1,2,3)\)三个物品中选择两个物品可以有\((1,2)\),\((1,3)\),\((2,3)\)这三种选择方法。根据组合数的定义,我们可以给出计算组合数\(C_n^m\)的一般公式:\[C_n^m......
  • P2178 [NOI2015] 品酒大会
    题意简述定义后缀\(p,q\)是\(r\)相似的当且仅当\(\forall1\lei\ler,s_{p+i-1}=s_{q+i-1}\)。对于每一个\(0\ler<n\),求出:有多少对\(r\)相似的后缀。每个后缀有权值\(a_i\),求在所有\(r\)相似的后缀对\((p,q)\)中\(a_p\cdota_q\)的最大值。若不存在则答案为......
  • 第二十一天:MYSQL视图和存储过程
    一、视图VIEW视图:虚拟表,保存有实表的查询结果,相当于别名利用视图,可以隐藏表的真实结构,在程序中利用视图进行查询,可以避免表结构的变化,而修改程序,降低程序和数据库之间的耦合度创建方法:CREATE VIEWview_name[(column_list)]  ASselect_statement  [......
  • 第二十天:mysql查询:DML、DDL、DQL
    一、DML语句DML:INSERT,DELETE,UPDATE1、INSERT语句功能:一次插入一行或多行数据语法INSERT[LOW_PRIORITY|DELAYED|HIGH_PRIORITY][IGNORE]  [INTO]tbl_name[(col_name,...)]  {VALUES|VALUE}({expr|DEFAULT},...),(...),...  [ONDUPLIC......
  • JOISC 2018 题解
    JOISC2018loj上有几乎全部的题目,写了题意的就是loj上没有的。D1T1简单题。根据颜色段均摊的结论,每个点到根的路径上颜色段的总和是\(O(n\logn)\)的,于是直接每次暴力找颜色段即可。复杂度\(O(n\log^2n)\)。提交记录D1T2又是计算几何。我们需要画出一条闭合折线,并且......
  • JOISC 2017 题解
    JOISC2017loj上有几乎全部的题目,写了题意的就是loj上没有的。D1T1开场放大。首先,对于一个点,它最后覆盖的一定是一个矩形,这就意味着如果我们知道了\(u,d,l,r\)操作各用了多少次,他们之间的顺序是不重要的,我们可以直接当做把一种操作做完再做剩下的操作,这样就可以做到\(O(......
  • JOISC 2016 题解
    JOISC2016loj上有几乎全部的题目,写了题意的就是loj上没有的。D1T1一开始把题目看错了,还写了棵线段树。把询问离线,倒着扫一遍,就变成了求最长不上升子序列,用树状数组维护即可。提交记录D1T2来自Kubic的神仙做法。考虑Filp一个位置和剩下所有位置,记录每个数作为答案......
  • JOISC 2015 题解
    JOISC2015loj上有几乎全部的题目,写了题意的就是loj上没有的。D1T1简单题。因为\(k\)很小,考虑依次确定最后第\(i\)位是什么。我们倒序考虑所有操作,维护最后第\(i\)位当前在第几位,就可以一直推下去。提交记录D1T2直接暴力复杂度就是\(O(k4^k)\)的,可以通过。提交......
  • 第二十天:mysql基本语法
    一、语法标准1、数据库对象和命名数据库的组件(对象):数据库、表、索引、视图、用户、存储过程、函数、触发器、事件调度器等命名规则:必须以字母开头,后续可以包括字母,数字和三个特殊字符(#_$)不要使用MySQL的保留字2、SQL语句分类DDL:DataDefinationLanguage数据定义......