龙空技术网

如何在MySQL中快速定位慢SQL语句呢?

老王谈运维 2977

前言:

眼前兄弟们对“mysql查看查询慢的语句”大概比较关怀,兄弟们都想要分析一些“mysql查看查询慢的语句”的相关内容。那么小编也在网上搜集了一些关于“mysql查看查询慢的语句””的相关资讯,希望看官们能喜欢,大家快快来学习一下吧!

本文出自头条号老王谈运维,转载请说明出处。

当你正在全神贯注的投入工作时MySQL语句变得特别缓慢,怎么办?如何在MySQL语句中找到低效率执行的SQL语句呢?这个问题困扰着一批又一批的程序猿。

什么是慢查询?

当SQL语句的查询返回结果速度超过了规定的时间(即通常为1S),则规定该查询语句为慢查询,慢查询会导致整个数据库的服务器性能下降,查询变得很缓慢。

对于MySQL慢查询我们通常的查找解决思路是这样的,MySQL语句变慢一般分为三种情况:

逐渐变慢突然变慢偶然变慢

当你遇到这样的问题,怎么办? 如何解决呢?

传统的解决思路是这样的:

一、 查询日志

使用查询日志代码。查看日志的具体情况

slow_query_log 

当这个参数设置为ON,可以搜寻到时间超过慢查询定义的时间(即1S)SQL语句。

long_query_time 

执行后会浏览所有SQL语句,当某些SQL语句执行超过设定时间后,系统会自动的将该条语句记录到日志中。

所以,我们可以在日志中查询慢查询的SQL语句。

二、 explain语句检查

我们知道索引查询在列上,重复值很少时,索引效率很高。例如说:像like’%****’ 之类的语句比较多时,就会导致SQL语句的慢查询的负载变得很高。所以,我们需要在SQL查询语句中看类似这样的重复值查询语句是否很多。

三、 硬件问题

说到硬件问题,我们就不得不谈到CPU(当CPU的负载变高时,是会影响计算机的处理运行速率的,会使得计算机变得很缓慢)。所以,我们此时此刻得看CPU是否负载变得很高,导致MySQL语句执行变得很缓慢。

以上就例举常用的一些查找数据库变得缓慢的方法,是不是觉得很麻烦,还得一步步确认哪一个环节出现问题了。下面就介绍你一个捷径,帮你省去很多麻烦。

在这里不得不提到我们的运维神器 --王教授,助你团队实现高效运维, 王教授的功能包括:

资产管理健康诊断统一监控告警通知运维审计团队协作

工具地址:

当中的“健康诊断”功能就可以轻松帮助大家定位到存在慢查询的SQL语句,对于使用云(阿里云、腾讯云、AWS)的用户,你只需要绑定监控的AcessKey,即可对资产进行监控、检查。不需要你使用传统的方法,一一定位排查问题,费时耗力。

监控业务系统实时情况,快速指出系统问题所在,轻松变身运维达人。

赶紧来使用运维神器----王教授

网站崩溃找不到原因?平台搭建无从下手?热门技术不想落伍?想要变强找不到资料?

加入[IT拯救联盟],让大牛和同伴拯救你,带你装x带你飞。定期干货分享、大牛专业解答、实用IT工具优选.....

私信小编“联盟”,即可加入我们~

标签: #mysql查看查询慢的语句