`
pany
  • 浏览: 90349 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

用mysqldumpslow分析mysql的slow query log

 
阅读更多

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 log分析工具

    MySQL慢查询日志(Slow Query Log)是一种用于记录执行时间超过预设阈值(默认为10秒,可通过`long_query_time`参数调整)的SQL语句的日志机制。启用方式有二:一是编辑`my.cnf`配置文件中的`log-slow-queries`参数...

    windows下安装和使用mysqldumpslow命令

    在Windows环境下安装和使用`mysqldumpslow`命令,主要目的是分析MySQL数据库中的慢查询日志(Slow Query Log),从而优化数据库性能。`mysqldumpslow`是MySQL提供的一款工具,它能够汇总、排序并打印出MySQL慢查询...

    使用MySQL Slow Log来解决MySQL CPU占用高的问题

    slow_query_log_file = /var/log/mysql/slow.log ``` `long_query_time`参数定义了被认为是"慢查询"的阈值,这里设置为1秒,意味着任何执行时间超过1秒的查询都将被记录到慢查询日志中。`log-slow-queries`或`slow_...

    mysqldumpslow等常用脚本 用于mysql和程序性能调优

    `mysqldumpslow` 是MySQL客户端工具的一部分,它能够解析慢查询日志(slow query log),并以易于理解的格式显示统计信息。慢查询日志记录了执行时间超过预设阈值的查询,这对于识别那些可能拖累数据库性能的查询...

    MySQL开启慢查询日志log-slow-queries的方法

    MySQL的慢查询日志(log-slow-queries)是一项非常实用的功能,它允许数据库管理员监控和优化那些运行时间较长的SQL查询。启用这一特性可以帮助识别和解决数据库性能瓶颈,提升整体应用的响应速度。以下是关于开启慢...

    五款常用mysql slow log分析工具的比较分析

    本文将对五款流行的MySQL慢查询日志分析工具进行比较分析,这些工具分别是mysqldumpslow、mysqlsla、myprofi、mysql-explain-slow-log和mysql-log-filter。 mysqldumpslow是MySQL官方提供的慢查询日志分析工具,其...

    MySQL慢查询日志:性能分析的利器

    使用命令`pt-query-digest /var/log/mysql/slow-query.log`进行分析。 4. **优化查询语句** - 根据分析结果,优化查询语句。常见的优化方法包括: - 使用索引:确保查询条件中涉及的列上有索引。 - 减少返回的列...

    Mysql+linux安装日志.rar_MYSQL_historyxrl_linux

    slow_query_log_file = /var/log/mysql/slow.log long_query_time = 1 ``` **三、日志分析** 1. **使用mysqldumpslow**: MySQL自带的工具,用于分析慢查询日志,找出耗时较长的SQL语句。 ``` mysqldumpslow -...

    MySQL进阶之Query优化分析

    - 分析工具:可以使用MySQL自带的`mysqldumpslow`工具或者第三方工具如Percona Toolkit中的`pt-query-digest`来分析慢查询日志。 2. **Explain语句**:利用`EXPLAIN`关键字来分析SQL语句的执行计划,了解查询是...

    mysql性能工具的使用.txt

    /u01/app/mysql/bin/mysqldumpslow -g "left join" /data/mysql/log/slow-log ``` #### SHOW PROCESSLIST命令 `SHOW PROCESSLIST`命令可以显示当前所有正在运行的MySQL连接和它们的状态信息,包括用户的名称、ID...

    MySQL优化篇:慢查询日志.pdf

    例如,使用`mysqldumpslow -s r -t 10 /var/lib/mysql/htzw-slow.log`可以查看返回记录数最多的10个慢查询;使用`mysqldumpslow -s c -t 10 /var/lib/mysql/htzw-slow.log`可以查看访问次数最多的10个慢查询;使用`...

    mysqldumpslow:官方mysqldumpslow的改进版

    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

    (mysql面试题)MySQL中的慢查询日志的作用及其使用方法及代码展示.txt

    mysqldumpslow -s t /var/lib/mysql/slow-query.log ``` 其中`-s t`表示按照查询时间排序。 #### 四、实战应用示例 假设我们需要将慢查询日志功能应用于一个现有的MySQL实例中: 1. **编辑配置文件**:打开...

    五款常用mysqlslowlog分析工具的比较.pdf

    MySQL Slow Query Log是一种重要的性能监控工具,用于记录执行时间超过预设阈值的SQL查询,帮助DBA识别和优化性能瓶颈。本篇文章将对比五款常用的MySQL Slow Log分析工具,以便选择最适合您需求的工具。 1. **...

    MySQL日志分析(包括工具)

    3. **mysql-explain-slow-log**:Perl脚本,专注于慢查询的分析,但不支持高级统计信息提取。 4. **mysql-log-filter**:Python或PHP编写的脚本,可以在保持输出简洁的同时,提供一定的数据分析能力。 5. **myprofi*...

    Mysql慢查询日志查看

    MySQL> set global slow_query_log='ON'; 这将动态地启用慢查询日志,并将执行时间超过 1 秒的查询语句记录到慢查询日志中。 二、慢查询日志格式 慢查询日志的格式如下: # Time: 120331 10:05:48 # User@Host: ...

    mysql慢查询日志的使用

    mysqldumpslow /var/lib/mysql/slow.log ``` 2. **mysqlsla:** - `mysqlsla`也是一个常用的慢查询日志分析工具,可以从慢查询日志中提取并分析慢查询。 - 安装方法: ```bash wget ...

    mysql数据性能调优

    在给定文件中,提到了通过配置和使用MySQL的慢查询日志(slow query log)来进行性能调优,下面将详细解读这部分内容。 首先,我们需要了解什么是慢查询日志。慢查询日志是MySQL数据库提供的一种日志记录功能,它...

    如何对MySQL服务器进行调优

    mysqldumpslow --slow-log /path/to/your/slow-query-log-file.log --time 5 ``` 此外,`mysqldumpslow`还可以统计相同的慢查询出现的次数,帮助我们找到最常见的性能瓶颈所在。 ### 总结 通过对MySQL服务器进行...

Global site tag (gtag.js) - Google Analytics