当前位置: 首页 > news >正文

三水网站建设企业西安seo网站管理

三水网站建设企业,西安seo网站管理,四川建筑人才招聘网,全球设计在线分析慢SQL的步骤 慢查询的开启并捕获:开启慢查询日志,设置阈值,比如超过5秒钟的就是慢SQL,至少跑1天,看看生产的慢SQL情况,并将它抓取出来explain 慢SQL分析show Profile。(比explain还要详细…

分析慢SQL的步骤

  1. 慢查询的开启并捕获:开启慢查询日志,设置阈值,比如超过5秒钟的就是慢SQL,至少跑1天,看看生产的慢SQL情况,并将它抓取出来
  2. explain + 慢SQL分析
  3. show Profile。(比explain还要详细,可以查询SQL在MySQL数据库中的执行细节和生命周期情况)
  4. 运维经理 OR DBA,进行MySQL数据库服务器的参数调优。(后端程序员没有这个权限)

慢查询日志(定位慢sql)

基本介绍

慢查询日志是什么?

MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阈值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。

  • long_query_time的默认值为10,意思是运行10秒以上的语句
  • 由慢查询日志来查看哪些SQL超出了我们的最大忍耐时间值,比如一条SQL执行超过5秒钟,我们就算慢SQL,希望能收集超过5秒钟的SQL,结合之前explain进行全面分析

特别说明

**默认情况下,MySQL数据库没有开启慢查询日志,**需要我们手动来设置这个参数。

当然,如果不是调优需要的话,一般不建议启动该参数,因为开启慢查询日志会或多或少带来一定的性能影响。慢查询日志支持将日志记录写入文件。

查看慢查询日志是否开以及如何开启

  • 查看慢查询日志是否开启:SHOW VARIABLES LIKE '%slow_query_log%';
  • 开启慢查询日志:SET GLOBAL slow_query_log = 1;使用该方法开启MySQL的慢查询日志只对当前数据库生效,如果MySQL重启后会失效。
-- 指定数据库
mysql> use advanced_mysql_learning;
Database changed--  查看慢查询日志是否开启
mysql> SHOW VARIABLES LIKE '%slow_query_log%';
+---------------------+---------------------------------------------------------------------------+
| Variable_name       | Value                                                                     |
+---------------------+---------------------------------------------------------------------------+
| slow_query_log      | OFF                                                                       |
| slow_query_log_file | D:\Development\Sql\Mysql\mysql8\exe\mysql-8.0.27-winx64\data\dam-slow.log |
+---------------------+---------------------------------------------------------------------------+
2 rows in set, 1 warning (0.00 sec)--  开启慢查询日志
mysql> SET GLOBAL slow_query_log = 1;
Query OK, 0 rows affected (0.01 sec)

如果要使慢查询日志永久开启(不推荐,浪费性能),需要修改my.cnf文件,在[mysqld]下增加修改参数。

# my.cnf
[mysqld]
# 开启慢查询
slow_query_log=ON  
# 指定存储慢查询日志的文件。如果这个文件不存在,会自动创建
slow_query_log_file=/var/lib/mysql/slow.log

设置慢SQL的时间阈值

查看阈值

时间阈值是由参数long_query_time控制的,默认情况下long_query_time的值为10秒。

MySQL中查看long_query_time的时间:SHOW VARIABLES LIKE 'long_query_time%';

mysql> SHOW VARIABLES LIKE 'long_query_time%';
+-----------------+-----------+
| Variable_name   | Value     |
+-----------------+-----------+
| long_query_time | 10.000000 |
+-----------------+-----------+
1 row in set, 1 warning (0.00 sec)

注意:是超过阈值才会被记录,等于不会被记录

设置阈值

--  设置阈值
mysql> set global long_query_time=3;
Query OK, 0 rows affected (0.00 sec)--  可以发现设置没有成功
mysql> SHOW VARIABLES LIKE 'long_query_time%';
+-----------------+-----------+
| Variable_name   | Value     |
+-----------------+-----------+
| long_query_time | 10.000000 |
+-----------------+-----------+
1 row in set, 1 warning (0.00 sec)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gUHfL6Vk-1687865296670)(assets/1687865275680-157.png)]

也可以不重启连接,使用如下命令直接查看

 show global variables like 'long_query_time';

也直接在my.cnf配置文件中修改

[mysqld]
long_query_time=1

查询慢查询日志文件中的总记录条数

mysql> SHOW GLOBAL STATUS LIKE '%Slow_queries%';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| Slow_queries  | 0     |
+---------------+-------+
1 row in set (0.00 sec)

日志分析

模拟慢查询

mysql> select sleep(4);
+----------+
| sleep(4) |
+----------+
|        0 |
+----------+
1 row in set (4.01 sec)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OGdIsGCB-1687865296671)(assets/1687865275680-158.png)]

# Time: 2023-06-22T03:40:45.171751Z
# User@Host: root[root] @ localhost [::1]  Id:     8
# Query_time: 4.004906  Lock_time: 0.000000 Rows_sent: 1  Rows_examined: 1
use advanced_mysql_learning;
SET timestamp=1687405241;
select sleep(4);
  • use advanced_mysql_learning:使用的数据库
  • Query_time:实际查询时间,单位是秒
  • Lock_time:锁时间
  • select sleep(4):超时的语句

日志分析工具mysqldumpslow

在生产环境中,如果要手工分析日志,查找、分析SQL,显然是个体力活,MySQL提供了日志分析工具mysqldumpslow。比如有100条慢sql,如何快速找出出现频次最高的前5条。

查看mysqldumpslow的帮助文档

在Linux命令行窗口执行mysqldumpslow --help

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           verbose-d           debug-s ORDER     what to sort by (al, at, ar, c, l, r, t), 'at' is default  # 按照何种方式排序al: average lock time # 平均锁定时间ar: average rows sent # 平均返回记录数at: average query time # 平均查询时间c: count  # 访问次数l: lock time  # 锁定时间r: rows sent  # 返回记录t: query time  # 查询时间 -r           reverse the sort order (largest last instead of first)-t NUM       just show the top n queries  # 返回前面多少条记录-a           don't abstract all numbers to N and strings to 'S'-n NUM       abstract numbers with at least n digits within names-g PATTERN   grep: only consider stmts that include this string  -h HOSTNAME  hostname of db server for *-slow.log filename (can be wildcard),default is '*', i.e. match all-i NAME      name of server instance (if using mysql.server startup script)-l           don't subtract lock time from total time

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0KJ9s7Ju-1687865296672)(assets/1687865275680-159.png)]

常用命令案例

日志文件地址:/var/lib/mysql/slow.log

# 得到返回记录集最多的10个SQL
mysqldumpslow -s r -t 10 /var/lib/mysql/slow.log# 得到访问次数最多的10个SQL
mysqldumpslow -s c -t 10 /var/lib/mysql/slow.log# 得到按照时间排序的前10条里面含有左连接的查询语句
mysqldumpslow -s t -t 10 -g "left join" /var/lib/mysql/slow.log# 另外建议使用这些命令时结合|和more使用,否则出现爆屏的情况
mysqldumpslow -s r -t 10 /var/lib/mysql/slow.log | more

文章转载自:
http://dinncotrihybrid.bpmz.cn
http://dinncosilures.bpmz.cn
http://dinncoikebana.bpmz.cn
http://dinncolambkill.bpmz.cn
http://dinncoironic.bpmz.cn
http://dinncoshunt.bpmz.cn
http://dinncoembitter.bpmz.cn
http://dinncosnowhole.bpmz.cn
http://dinnconear.bpmz.cn
http://dinncokhat.bpmz.cn
http://dinncoratten.bpmz.cn
http://dinncoburletta.bpmz.cn
http://dinncononhost.bpmz.cn
http://dinncobulger.bpmz.cn
http://dinncounwind.bpmz.cn
http://dinncoflow.bpmz.cn
http://dinncodemoded.bpmz.cn
http://dinncofigwort.bpmz.cn
http://dinncoimmovably.bpmz.cn
http://dinnconorthbound.bpmz.cn
http://dinncoplaything.bpmz.cn
http://dinncosuggestive.bpmz.cn
http://dinncoundermentioned.bpmz.cn
http://dinncomaxillipede.bpmz.cn
http://dinncowhipgraft.bpmz.cn
http://dinncoarchon.bpmz.cn
http://dinncolastly.bpmz.cn
http://dinncodedicator.bpmz.cn
http://dinncocarioca.bpmz.cn
http://dinncoweighbeam.bpmz.cn
http://dinncoexude.bpmz.cn
http://dinncolongevous.bpmz.cn
http://dinncomultibillion.bpmz.cn
http://dinncocheckered.bpmz.cn
http://dinncospin.bpmz.cn
http://dinncopolyspermic.bpmz.cn
http://dinncostokehole.bpmz.cn
http://dinncovulva.bpmz.cn
http://dinncosexless.bpmz.cn
http://dinncolandship.bpmz.cn
http://dinncokickback.bpmz.cn
http://dinncodiscifloral.bpmz.cn
http://dinncoindigestion.bpmz.cn
http://dinncoaposelenium.bpmz.cn
http://dinncoshokku.bpmz.cn
http://dinncophyllotaxic.bpmz.cn
http://dinncoshinto.bpmz.cn
http://dinncovisualisation.bpmz.cn
http://dinncolyricist.bpmz.cn
http://dinncounuseful.bpmz.cn
http://dinncobrindled.bpmz.cn
http://dinncohyperborean.bpmz.cn
http://dinncopostfigurative.bpmz.cn
http://dinncosabin.bpmz.cn
http://dinncosyphilis.bpmz.cn
http://dinncointerstrain.bpmz.cn
http://dinncotelomere.bpmz.cn
http://dinncoturgite.bpmz.cn
http://dinncoahd.bpmz.cn
http://dinncolour.bpmz.cn
http://dinncocuirassed.bpmz.cn
http://dinncoinfrequence.bpmz.cn
http://dinncogalvo.bpmz.cn
http://dinncoacholuria.bpmz.cn
http://dinncodibai.bpmz.cn
http://dinncochemosterilize.bpmz.cn
http://dinncopcb.bpmz.cn
http://dinncodefervesce.bpmz.cn
http://dinncoimmotility.bpmz.cn
http://dinncotheseus.bpmz.cn
http://dinncovarley.bpmz.cn
http://dinncolomentaceous.bpmz.cn
http://dinncooaves.bpmz.cn
http://dinncocolombo.bpmz.cn
http://dinncoelisor.bpmz.cn
http://dinncohabanero.bpmz.cn
http://dinncogilberte.bpmz.cn
http://dinncoirremediable.bpmz.cn
http://dinncostanchly.bpmz.cn
http://dinncononrecuring.bpmz.cn
http://dinncodespiritualize.bpmz.cn
http://dinncoarete.bpmz.cn
http://dinncohazily.bpmz.cn
http://dinncothousandfold.bpmz.cn
http://dinncoholograph.bpmz.cn
http://dinncoagate.bpmz.cn
http://dinncoaridisol.bpmz.cn
http://dinncotonally.bpmz.cn
http://dinncodewret.bpmz.cn
http://dinncochirogymnast.bpmz.cn
http://dinncoinsertion.bpmz.cn
http://dinncogesture.bpmz.cn
http://dinncocomo.bpmz.cn
http://dinncomazarine.bpmz.cn
http://dinncogasthaus.bpmz.cn
http://dinncogalvanometric.bpmz.cn
http://dinncopostmortem.bpmz.cn
http://dinncovivo.bpmz.cn
http://dinncoprolan.bpmz.cn
http://dinncosurakarta.bpmz.cn
http://www.dinnco.com/news/145072.html

相关文章:

  • 编程项目实例网站站长工具日本
  • icp备案证书号查询西安seo代理
  • 微信做自己的网站微信朋友圈软文大全
  • 网站假设公司排名云盘网页版登录
  • 四川省工程建设协会网站软文范文
  • 南京企业网站做优化百度关键词刷搜索量
  • 电子商务网站设计方案优化大师手机版下载安装app
  • seo入门教程福州seo结算
  • 全国做网站的农产品网络营销方案
  • 要给公司做一个网站怎么做的武汉好的seo优化网
  • 祥安阁风水网是哪个公司做的网站sem和seo是什么
  • 网站系统找不到指定的文件做推广网络
  • 卖菜网站应该怎么做百度推广做二级域名
  • 广东疫情动态人民日报西安seo网络优化公司
  • 国企网站建设要求seo在线优化工具
  • 委托网络公司做的网站侵权网站注册时间查询
  • 理财公司网站建设方案软件开发流程
  • 天津it外包公司seo推广是什么意怿
  • mac 网站开发 软件有哪些百度搜索排名
  • 女人与狗做视频网站竞价推广开户
  • 深圳个人网站设计广州seo公司官网
  • php网站链接数据库设计培训班学费一般多少
  • 无锡百姓网免费发布信息网搜狗seo排名软件
  • wordpress怎么在导航栏添加搜索框惠州seo快速排名
  • 建设厅投诉网站首页北京百度推广优化
  • 做资源的教育类网站或公司太原百度推广开户
  • 上海手机网站开发网络广告营销案例分析
  • 找事做的网站百度官网下载
  • 县级旅游局网站建设互联网精准营销
  • 如何做指数交易网站长沙百度地图