mysql f_MySQL
医生给病人诊断的时候,一般会使用听诊器来诊断肺部是否正常。如果你的MySQL出现了性能问题,第一个需要“诊断”的就是slow log(慢日志)了。
slow log文件很小,使用more less等命令就足够了。如果slow log很大怎么办?这里介绍MySQL自带的工具mysqldumpslow来帮你解析慢日志(也可以跳过本文,直接阅读Manual)。
基本使用
$mysqldumpslow slow.log > slow.dat
$more slow.dat
输出的数据:
Count: 3 Time=62.67s (188s) Lock=0.00s (0s) Rows=1623770.7 (4871312), root[root]@localhost
SELECT /*!N SQL_NO_CACHE */ * FROM `feed_receive_0287`
这里我们能够获得:这条语句在满日志中的出现次数、平均执行时间、总共执行时间、row send等。例如:SELECT /*!N SQL_NO_CACHE */ * FROM `feed_receive_0287`一共执行了3次,平均每次使用62秒。
在默认情况下,mysqlslowdump的输出结果会使用N和S代替SQL中出现的数字和字符串。例如:如下慢日志
SELECT COUNT(*) as counter FROM feed_receive f WHERE f.RATED_UID=21621 AND f.suspended=-1 AND f.rater_type=4 AND f.rate=-2 AND f.username=”orczhou.com”
会被mysqlslowdump抽象为:
SELECT COUNT(*) as counter FROM feed_receive f WHERE f.RATED_UID=N AND f.suspended=-N AND f.rater_type=N AND f.rate=-N AND f.username=”S”
如果想禁用这种抽象,可以使用-a参数
排序参数
mysqlslowdump默认输出结果是按照count(SQL出现的次数)排序的。可以通过如下的参数控制:
-s t
按总query time排序
-s at
按平均query time排序
-s l
按总locktime排序
-s al
按平均lock time排序
-s s
按总row send排序
-s as
按平均row send排序
-s c
按count排序
—
—
例如:
mysqldumpslow -s at slow.log.old > slow.2.dat #按照平均query time排序查看日志
其他参数
-r
倒着排序
-a
不要将数字和字符串抽象成N和S
-g
仅仅分析相匹配的query
常用命令
由上面的常用参数就可以组合出如下的常用命令:
mysqldumpslow -s t slow.log.old > slow.1.dat #按照query time排序查看日志
mysqldumpslow -s at slow.log.old > slow.2.dat #按照平均query time排序查看日志
mysqldumpslow -a -s at slow.log.old > slow.3.dat #按照平均query time排序并且不抽象数字的方式排序
mysqldumpslow -a -s c slow.log.old > slow.4.dat #安装执行次数排序
(全文完)
mysql f_MySQL相关推荐
- mysql uroot p f_Mysql 5.7安装
Mysql 安装操作系统配置 1.调整内核参数 编辑/etc/sysctl.conf文件,添加如下内容,并执行sysctl -p 使配置生效: #增加tcp支持的队列数 ##指定能接受SYN同步包的最 ...
- mysql中rm+-f_Mysql命令大全
格式: mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MYSQL. 首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你 ...
- mysql if value t f_mysql常用函数
函数介绍 事先提供好的一些功能可以直接使用 函数可以用在SELECT语句及其子句 也可以用在UPDATE,DELETE语句当中. 函数分类 字符串函数 数值函数 日期和时间函数 流程函数 其它函数 字 ...
- mysql 快捷查询数据库各表占用空间,mysql查看索引占用空间,mysql查看数据占用空间
先贴一张图! 第一步,"很重要" 在mysql中,有一个创建之初自带的库information_schema,这个库中包含着数据库相关信息,查询数据占用空间就是使用该库,所以首先进 ...
- mysql并发更新数据,多用户并发修改数据解决方案。
mysql并发更新数据,多用户并发修改数据解决方案. 在系统中,有一些如余额.资产.积分的数据,是要保证数据一致性的.如,一个人使用两个设备同时进行消费操作,如何保证数据一致性的问题. 我们一起来思考 ...
- mysql查询字段大小写结果相同,mysql大小写查询不敏感,mysql5.7查询不区分大小写解决方案。
下面有两条sql,主键查询,在mysql中查询到的结果相同. SELECT* FROM USER WHEREid = 'EM58hdK4nXC';SELECT* FROM USER WHEREid = ...
- 数据库中自定义排序规则,Mysql中自定义字段排序规则,Oracle中自定义字段排序规则,decode函数的用法,field函数的用法
数据库中自定义排序 场景:有一张banner表,表中有一个status字段,有0, 1, 2三个状态位,我想要 1,0,2的自定义排序(这里是重点),然后再进行之上对sequence字段进行二次排序( ...
- mybatis查询报错:com.mysql.cj.exceptions.DataConversionException: Cannot determine value type from string
mybatis查询报错: com.mysql.cj.exceptions.DataConversionException: Cannot determine value type from strin ...
- docker一步安装mysql,docker的魅力就在于此
正常来说,使用docker安装东西的步骤是serach它有没有,然后pull它 这里其实只要一步(如果你没有安装过.没有端口占用等问题的话!!) $ docker run -d -p 3306:330 ...
最新文章
- 量化网络训练--Towards Effective Low-bitwidth Convolutional Neural Networks
- Android渗透测试Android渗透测试入门教程大学霸
- sql能查到数据 dataset对象里面没有值_新零售数据分析报告
- 【Java面试题视频讲解】合并相同索引的值
- jre环境变量配置_详解java环境变量意思-用于解决环境搭建问题
- [html] 如何禁止手机端页面缩放?
- 卡巴斯基安全浏览器_卡巴斯基杀毒软件被曝出用户上网痕迹泄露漏洞
- python构建简单神经网络_Python构建一个简单的神经网络,Pytorch,搭建
- paip.验证码识别---除噪算法-中值滤波
- 如何在物联网低代码平台中使用数据字典功能?
- wps带阴影的边框怎么设置_wps如何添加阴影边框-wps设置阴影边框的方法 - 河东软件园...
- 实验三——Pspice
- php 网页qq一键登录,给网站添加一键qq登录的功能
- 随手练——小米OJ 高弗雷勋爵
- 数字化时代,如何做好用户体验与应用性能管理
- 4 个方法养成大神级 “反内耗“ 体质
- 谁抢走你的棒棒糖?精彩的创意让你得到的不仅仅是震撼 值得一看(图)
- 机器学习入门的书单(数据挖掘、模式识别等一样)
- 3.18 使用橡皮擦工具制作图像合成效果 [原创Ps教程]
- 给穷鬼创业者的话:没有千万甚至上亿还是别做App,你那几十万还不如炒房
热门文章
- java文章上一篇下一篇_每个人都必须阅读的10篇Java文章
- 使用OpenJDK 11运行JAXB xjc编译器
- java pojo使用_在POJO中使用ThreadLocal进行Java嵌套事务
- jboss5.1安全性配置_使用Java EE安全性和JBoss AS 7.x保护JSF应用程序的安全
- 在Jersey测试中模拟SecurityContext
- 线程同步,线程不同步_同步多线程集成测试
- JSON处理1.1:100DaysOfJavaEE8
- 实时通信:使用Spring Boot实现Websocket
- 使用一些可选的将字符串配置属性转换为其他类型
- jboss-5.1.0_JBoss AS 7.1.0.Final“ Thunder”发布-Java EE 6 Full Profile认证!