首页 > 其他分享 >开启慢查询

开启慢查询

时间:2022-08-18 15:45:31浏览次数:47  
标签:slow log 开启 查询 query 日志

一、什么是慢查询
慢查询,顾名思义,执行很慢的查询。有多慢?超过long_query_time参数设定的时间阈值(默认10s),就被认为是慢的,是需要优化的。慢查询被记录在慢查询日志里。慢查询日志默认是不开启的。如果需要优化SQL语句,就可以开启这个功能,它可以让你很容易地知道哪些语句是需要优化的。

1️⃣show variables like 'slow_query_log';查询是否开启慢查询日志
【开启慢查询sql:set global slow_query_log = 1/on;】
【关闭慢查询sql:set global slow_query_log = 0/off;】
2️⃣show 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】
3️⃣show 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
1
2
long_query_time是指执行超过多久的SQL会被日志记录下来,这里是10 秒。
log-slow-queries设置把日志写在哪里。为空的时候,系统会给慢查询日志赋予主机名,并加上slow.log。如果设置了参数log-long-format,那么所有没有使用索引的查询也将被记录。

这是一个非常有用的日志。它对于性能的影响不大(假设所有查询都很快),并且强调了那些最需要注意的查询(丢失了索引或索引没有得到最佳应用)。

三、慢查询解读
第一行:记录时间
第二行:用户名 、用户的IP信息、线程ID号
第三行:执行花费的时间【单位:毫秒】、执行获得锁的时间、获得的结果行数、扫描的数据行数
第四行:这SQL执行的时间戳
第五行:具体的SQL语句
————————————————
版权声明:本文为CSDN博主「一起努力啊啊啊啊」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ChineseSoftware/article/details/123200916

标签:slow,log,开启,查询,query,日志
From: https://www.cnblogs.com/cfas/p/16598927.html

相关文章

  • 查询日期用会计期间比制单日期取年月快
    selectga.iperiodas月,ga.iyearas年,(selectcasewhendep.cDepCodeisnullthendep1.cDepCodeelsedep.cDepCodeend)as部门编码,(selectcasewhendep.cDepNa......
  • 9 个人站点页面的文章查询
    urls.pyfromdjango.urlsimportre_pathurlpatterns=[...#个人站点urlre_path('^(?P<username>\w+)$',views.home_site),]views.pyfrombl......
  • 17 Djaogo日期归档查询方式
    Django提供了一种方式:日期归档查询方式如果以后遇到,要用某年某月分组的话,那么可以使用Django提供的方式:#fromdjango.db.models.functionsimportTruncMonth,TruncDay......
  • SQL Server—单表查询
    1.查询一个表的所有数据。【select*from表名】select*fromUserinfo2.查询一个表的部分数据。【select列名,列名,…from表名】selectUserName,Ag......
  • Dynamic CRM最常用的3种查询方式
    在crm系统中接口或者插件中通常都会有查询的校验实际上单查询的话不用crm提供的方式也可以直接用sql的方式去查,一般涉及到很多表的联动查询比如报表查询时,还是用sql更......
  • 简述一条查询语句的执行过程
    大体来说,MySQL可以分为Server层和存储引擎层两部分。Server层包括连接器、查询缓存、分析器、优化器、执行器等存储引擎层负责数据的存储和提取。 一个查询语句......
  • 16 Django-extra查询
    知识点补充:如何只拿出,dt字段中的年月字段?知识点补充:extra有些时候复杂的sql语句,Django无法去对应。extra(select=None,where=None,params=None,tables=None,ord......
  • sql语句查询
    xxxImpl.java 继承IDao<xxx>以qqUser为例publicclassqqDaoImplimplementsIDao<qqUser>{@Overridepublicintinsert(qqUserqqUser)throwsSQLExcep......
  • 在asp.net中开启后台任务
    开始后台任务一般是Task.Run()查在asp.net时进行可能会被回收,导致Task中断。在Asp,net中有专门的后台任务函数: System.Web.Hosting.HostingEnvironment.QueueBackgroun......
  • 复杂条件查询功能
    复杂条件查询功能分析       总记录数统计的代码实现UserDao接口:/***查询总记录数*@return*@paramcondition*/i......