当前位置:网站首页>MySQL进阶sql性能分析
MySQL进阶sql性能分析
2022-07-30 22:17:00 【web18224617243】
1:sql的执行次数分析:
sql: show global status like ‘com_______’
解释:通过该命令可以查看当前数据库下的增删改查的使用次数,来采取对应的优化处理. value值就是执行的次数.
2:慢查询日志
sql: show variables like
'%slow_query_log%'``;
慢查询日志会记录超出自己设置的时间还没有执行完毕的sql. 默认情况下,Mysql数据库并不启动慢查询日志,需要我们手动来设置这个参数,如果不是调优需要的话,一般不建议启动该参数,因为开启慢查询日志会或多或少带来一定的性能影响。慢查询日志支持将日志记录写入文件,也支持将日志记录写入数据库表。
可以看到, 默认情况下slow_query_log的值为OFF,表示慢查询日志是禁用的,可以通过设置slow_query_log的值来开启
开启慢查询日志sql:set global slow_query_log=1;
设置慢查询的超时时间:set global long_query_time=2;以秒为单位
注意: 使用set global slow_query_log=1开启了慢查询日志只对当前数据库生效,MySQL重启后则会失效。如果要永久生效,就必须修改配置文件my.cnf
找到日志文件打开,就会看到如上图所示,记录了超时的sql信息.
3:profile分析
1.查看profile是否可用
SELECT @@profiling;
2: 开启profile***
SET profiling = 1;
3: 查看当前会话下的所有sql执行时间:
show profiles;
4:查看具体sql的每个步骤消耗时间
show profiles for query xx; 这个xx是上图的query_id
**可以看到sql每个步骤执行消耗了多长时间 注意:**profile是用户级变量,每次都得重新启用
5:查看具体sql的cpu消耗时间
show profiles cpu for query xx; 比上个步骤多了一个cpu字段
sql的性能分析到此就可以了,剩下的sql优化还需要结合explain 或者 索引的相关知识进行进一步优化.
可以参考一下我的另外两篇文章:
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
边栏推荐
- VS2017编译Tars测试工程
- Successfully resolved ModuleNotFoundError: No module named 'Image'
- Go1.18升级功能 - 泛型 从零开始Go语言
- VS2017 compile Tars test project
- Be careful with your dictionaries and boilerplate code
- MySQL删除表数据 MySQL清空表命令 3种方法
- 使用LVS和Keepalived搭建高可用负载均衡服务器集群
- MySQL 8.0.29 set and modify the default password
- cnpm installation steps
- 【CTF】buuctf web 详解(持续更新)
猜你喜欢
随机推荐
cookie和session区别
2022.7.28
小心你的字典和样板代码
NEOVIM下载安装与配置
基于ABP实现DDD--领域服务、应用服务和DTO实践
MySql创建数据表
【无标题】
MySQL 8.0.29 解压版安装教程(亲测有效)
正则表达式语法及使用
代码越写越乱?那是因为你没用责任链
Learning about XML (1)
HCIP第十六天
MySql统计函数COUNT详解
mysql remove duplicate data
proxy反向代理
When Navicat connects to MySQL, it pops up: 1045: Access denied for user 'root'@'localhost'
使用LVS和Keepalived搭建高可用负载均衡服务器集群
3分钟带你了解微信小程序开发
MySQL 灵魂 16 问,你能撑到第几问?
VS2017编译Tars测试工程