mysql有一个功能就是可以log下来运行的比较慢的sql语句,默认是没有这个log的,为了开启这个功能,要修改my.cnf或者在mysql启动的时候加入一些参数。如果在my.cnf里面修改,需增加如下几行
long_query_time = 1
log-slow-queries = /var/youpath/slow.log
log-queries-not-using-indexes
long_query_time 是指执行超过多久的sql会被log下来,这里是1秒。
log-slow-queries 设置把日志写在那里,可以为空,系统会给一个缺省的文件host_name
-slow.log,我生成的log就在mysql的data目录
log-queries-not-using-indexes 就是字面意思,log下来没有使用索引的query。
把上述参数打开,运行一段时间,就可以关掉了,省得影响生产环境。
接下来就是分析了,我这里的文件名字叫host-slow.log。
先mysqldumpslow –help以下,俺主要用的是
-s ORDER what to sort by (t, at, l, al, r, ar etc), ‘at’ is default
-t NUM just show the top n queries
-g PATTERN grep: only consider stmts that include this string
-s,是order的顺序,说明写的不够详细,俺用下来,包括看了代码,主要有
c,t,l,r和ac,at,al,ar,分别是按照query次数,时间,lock的时间和返回的记录数来排序,前面加了a的时倒叙
-t,是top n的意思,即为返回前面多少条的数据
-g,后边可以写一个正则匹配模式,大小写不敏感的
mysqldumpslow -s c -t 20 host-slow.log
mysqldumpslow -s r -t 20 host-slow.log
上述命令可以看出访问次数最多的20个sql语句和返回记录集最多的20个sql。
mysqldumpslow -t 10 -s t -g “left join” host-slow.log
这个是按照时间返回前10条里面含有左连接的sql语句。
用了这个工具就可以查询出来那些sql语句是性能的瓶颈,进行优化,比如加索引,该应用的实现方式等。
-s,是order的顺序,说明写的不够详细,俺用下来,包括看了代码,主要有
c,t,l,r和ac,at,al,ar,分别是按照query次数,时间,lock的时间和返回的记录数来排序,前面加了a的时倒叙
这个解释有误 a开头的是单位执行时间 没有a的是总计时间就是count*ti
分享到:
相关推荐
MySQL慢查询日志(Slow Query Log)是一种用于记录执行时间超过预设阈值(默认为10秒,可通过`long_query_time`参数调整)的SQL语句的日志机制。启用方式有二:一是编辑`my.cnf`配置文件中的`log-slow-queries`参数...
在Windows环境下安装和使用`mysqldumpslow`命令,主要目的是分析MySQL数据库中的慢查询日志(Slow Query Log),从而优化数据库性能。`mysqldumpslow`是MySQL提供的一款工具,它能够汇总、排序并打印出MySQL慢查询...
slow_query_log_file = /var/log/mysql/slow.log ``` `long_query_time`参数定义了被认为是"慢查询"的阈值,这里设置为1秒,意味着任何执行时间超过1秒的查询都将被记录到慢查询日志中。`log-slow-queries`或`slow_...
`mysqldumpslow` 是MySQL客户端工具的一部分,它能够解析慢查询日志(slow query log),并以易于理解的格式显示统计信息。慢查询日志记录了执行时间超过预设阈值的查询,这对于识别那些可能拖累数据库性能的查询...
MySQL的慢查询日志(log-slow-queries)是一项非常实用的功能,它允许数据库管理员监控和优化那些运行时间较长的SQL查询。启用这一特性可以帮助识别和解决数据库性能瓶颈,提升整体应用的响应速度。以下是关于开启慢...
本文将对五款流行的MySQL慢查询日志分析工具进行比较分析,这些工具分别是mysqldumpslow、mysqlsla、myprofi、mysql-explain-slow-log和mysql-log-filter。 mysqldumpslow是MySQL官方提供的慢查询日志分析工具,其...
使用命令`pt-query-digest /var/log/mysql/slow-query.log`进行分析。 4. **优化查询语句** - 根据分析结果,优化查询语句。常见的优化方法包括: - 使用索引:确保查询条件中涉及的列上有索引。 - 减少返回的列...
slow_query_log_file = /var/log/mysql/slow.log long_query_time = 1 ``` **三、日志分析** 1. **使用mysqldumpslow**: MySQL自带的工具,用于分析慢查询日志,找出耗时较长的SQL语句。 ``` mysqldumpslow -...
- 分析工具:可以使用MySQL自带的`mysqldumpslow`工具或者第三方工具如Percona Toolkit中的`pt-query-digest`来分析慢查询日志。 2. **Explain语句**:利用`EXPLAIN`关键字来分析SQL语句的执行计划,了解查询是...
/u01/app/mysql/bin/mysqldumpslow -g "left join" /data/mysql/log/slow-log ``` #### SHOW PROCESSLIST命令 `SHOW PROCESSLIST`命令可以显示当前所有正在运行的MySQL连接和它们的状态信息,包括用户的名称、ID...
例如,使用`mysqldumpslow -s r -t 10 /var/lib/mysql/htzw-slow.log`可以查看返回记录数最多的10个慢查询;使用`mysqldumpslow -s c -t 10 /var/lib/mysql/htzw-slow.log`可以查看访问次数最多的10个慢查询;使用`...
mysql转储慢 官方mysqldumpslow的...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
mysqldumpslow -s t /var/lib/mysql/slow-query.log ``` 其中`-s t`表示按照查询时间排序。 #### 四、实战应用示例 假设我们需要将慢查询日志功能应用于一个现有的MySQL实例中: 1. **编辑配置文件**:打开...
MySQL Slow Query Log是一种重要的性能监控工具,用于记录执行时间超过预设阈值的SQL查询,帮助DBA识别和优化性能瓶颈。本篇文章将对比五款常用的MySQL Slow Log分析工具,以便选择最适合您需求的工具。 1. **...
3. **mysql-explain-slow-log**:Perl脚本,专注于慢查询的分析,但不支持高级统计信息提取。 4. **mysql-log-filter**:Python或PHP编写的脚本,可以在保持输出简洁的同时,提供一定的数据分析能力。 5. **myprofi*...
MySQL> set global slow_query_log='ON'; 这将动态地启用慢查询日志,并将执行时间超过 1 秒的查询语句记录到慢查询日志中。 二、慢查询日志格式 慢查询日志的格式如下: # Time: 120331 10:05:48 # User@Host: ...
mysqldumpslow /var/lib/mysql/slow.log ``` 2. **mysqlsla:** - `mysqlsla`也是一个常用的慢查询日志分析工具,可以从慢查询日志中提取并分析慢查询。 - 安装方法: ```bash wget ...
在给定文件中,提到了通过配置和使用MySQL的慢查询日志(slow query log)来进行性能调优,下面将详细解读这部分内容。 首先,我们需要了解什么是慢查询日志。慢查询日志是MySQL数据库提供的一种日志记录功能,它...
mysqldumpslow --slow-log /path/to/your/slow-query-log-file.log --time 5 ``` 此外,`mysqldumpslow`还可以统计相同的慢查询出现的次数,帮助我们找到最常见的性能瓶颈所在。 ### 总结 通过对MySQL服务器进行...