参考文档:

http://www.linuxidc.com/Linux/2012-09/70459.htm

1.记录慢查询SQL

#配置开启
(linux)修改my.cnf:
log-slow-queries=/var/log/mysql/slowquery.log (指定日志文件存放位置,可以为空,系统会给一个缺省的文件host_name-slow.log)
long_query_time= (记录超过的时间,默认为10s)
log-queries-not-using-indexes (log下来没有使用索引的query,可以根据情况决定是否开启)
log-long-format (如果设置了,所有没有使用索引的查询也将被记录)
(windows)修改my.ini:
log-slow-queries=D:\mysql\log\mysqlslowquery.log
long_query_time=
... (其他参数如上) #查看方式
使用mysql自带命令mysqldumpslow查看,常用命令:
-s ORDER what to sort by (t, at, l, al, r, aretc), 'at’ is default
-t NUM just show the top n queries
-g PATTERN grep: only consider stmts that includethis string
eg:
s,是order的顺序,说明写的不够详细,俺用下来,包括看了代码,主要有 c,t,l,r和ac,at,al,ar,分别是按照query次数,时间,lock的时间和返回的记录数来排序,前面加了a的时倒序 -t,是top n的意思,即为返回前面多少条的数据 -g,后边可以写一个正则匹配模式,大小写不敏感的 mysqldumpslow -s c -t host-slow.log
mysqldumpslow -s r -t host-slow.log 上述命令可以看出访问次数最多的20个sql语句和返回记录集最多的20个sql。
mysqldumpslow -t -s t -g “left join” host-slow.log这个是按照时间返回前10条里面含有左连接的sql语句。

2.explain (sql执行计划解释命令)

EXPAIN [SQL]

3.profile

mysql> select @@profiling;
+-------------+
| @@profiling |
+-------------+
| |
+-------------+
row in set mysql> SET profiling = ;
Query OK, rows affected mysql> select @@profiling;
+-------------+
| @@profiling |
+-------------+
| |
+-------------+
row in set mysql> SELECT * FROM t_im_tokens WHERE profileid IN (SELECT profileid FROM t_enduser_customer_service);
+-----------+----------------------------------+
| profileid | token |
+-----------+----------------------------------+
| | a2898efe07380a813efa53e0fd4b3697 |
| | b37122b662a6a6f7ad0a16e1a03f7f01 |
| | 7235940f4438dbceeaf288540ba68f19 |
| | 7ccb852b19562fc296f82f95f8e0d9ef |
| | a672510b73a34a3d1d6227a53086b248 |
| | 209a5085acbcd3969a98668d62fbd1a3 |
| | 52324116187ce5b558b8a082762b657b |
| | d6b61c83675b373f5b7887c088e6806e |
+-----------+----------------------------------+
rows in set mysql> show profiles;
+----------+------------+-------------------------------------------------------------------------------------------------+
| Query_ID | Duration | Query |
+----------+------------+-------------------------------------------------------------------------------------------------+
| | 0.00018075 | select @@profiling |
| | 0.000613 | SELECT * FROM t_im_tokens WHERE profileid IN (SELECT profileid FROM t_enduser_customer_service) |
+----------+------------+-------------------------------------------------------------------------------------------------+
rows in set mysql> show profile for query ;
+----------------------+----------+
| Status | Duration |
+----------------------+----------+
| starting | 6.3E-5 |
| checking permissions | 5E- |
| checking permissions | 4E- |
| Opening tables | 2E- |
| init | 2.1E-5 |
| System lock | 7E- |
| optimizing | 2E- |
| statistics | 0.000236 |
| preparing | 1.7E-5 |
| executing | 3E- |
| Sending data | 0.000129 |
| end | 5E- |
| removing tmp table | 8E- |
| end | 3E- |
| query end | 5E- |
| closing tables | 8E- |
| freeing items | 3.7E-5 |
| cleaning up | 2.5E-5 |
+----------------------+----------+
rows in set mysql>

mysql性能监控工具的更多相关文章

  1. mysql性能监控工具:mycheckpoint的使用方法

    mycheckpoint 是针对mysql的一个性能监控.指标采集的python写成的工具. 工作原理说明: mycheckpoint是一段脚本,通过将其设置为crontab定时任务,每几分钟采集一次 ...

  2. MySQL性能监控工具-Spotlight on MySQL

    原文地址:http://blog.csdn.net/k_scott/article/details/8167018 这是我的第二款用于监控MySQL数据库性能的工具:Spotlight on MySQ ...

  3. mysql性能监控工具Innotop

    mysql监控管理工具--innotop 1.innotop安装参考官网:http://innotop.googlecode.com/svn/html/installing.html # wget h ...

  4. MySQL性能监控工具-MONyog

      1.登录配置界面 2.show processlist 查看当前使用的进程 3.警告建议你应该优化哪些参数. 4.介绍一下慢查询的配置,其它的可以自己配置,都是简单的英文. 该工具,用着还不错.其 ...

  5. MySQL实时性能监控工具doDBA tools

    doDBA tools是什么? doDBA tools是一个基于控制台的远程监控工具,它不需要在本地/远程系统上安装任何软件,它可以实时收集操作系统.MySQL.InnoDB的实时性能状态数据,并可以 ...

  6. 分布式数据存储 - Zabbix监控MySQL性能

    Zabbix如何监控mysql性能,我们可以使用mysql自带的模板,可以监控如下内容:OPS(增删改查).mysql请求流量带宽,mysql响应流量带宽,最后会附上相应的监控图! 编写check_m ...

  7. MySQL性能、监控与灾难恢复

    原文:MySQL性能.监控与灾难恢复 监控方案:     up.time    http://www.uptimesoftware.com/    收费     Cacti        http:/ ...

  8. 深入理解JVM(七)——性能监控工具

    前言 工欲善其事必先利其器,性能优化和故障排查在我们大都数人眼里是件比较棘手的事情,一是需要具备一定的原理知识作为基础,二是需要掌握排查问题和解决问题的流程.方法.本文就将介绍利用性能监控工具,帮助开 ...

  9. JVM学习--(七)性能监控工具

    前言 工欲善其事必先利其器,性能优化和故障排查在我们大都数人眼里是件比较棘手的事情,一是需要具备一定的原理知识作为基础,二是需要掌握排查问题和解决问题的流程.方法.本文就将介绍利用性能监控工具,帮助开 ...

随机推荐

  1. Java高效计数器

    本文转载地址:              http://blog.csdn.net/renfufei/article/details/14120775 我们经常使用 HashMap作为计数器(coun ...

  2. 转义字符及URI编码

    URL中的转义字符 当URL的参数中出现诸如+,空格,/,?,%,#,&,=等特殊字符串符号时,因为上述字符有特殊含义,导致服务器端无法正确解析参数. 解决办法:将这些字符转化成服务器可以识别 ...

  3. 开源网络操作系统--VyOS

    User Guide Jump to: navigation, search Contents 1 Introduction 2 Installation 3 Using the Command-Li ...

  4. Hibernate与Jpa的关系(2)

    [转自:http://blog.163.com/hero_213/blog/static/398912142010312024809/ ] 近年来ORM(Object-Relational Mappi ...

  5. Http状态码大全(来自菜鸟教程)

    HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准. HTTP是一个基于TCP/IP通信 ...

  6. malloc与new相关

    前言: 通常我们使用数组的时候:必须提前用一个常量来指定数组的长度,同时它的内存空间在编译的时候就已经被分配了.但是有时候数组的长度只有在运行的时候才能知道.因此,一种简单的解决方案就是提前申请一块较 ...

  7. python——快速找出两个电子表中数据的差异

    最近刚接触python,找点小任务来练练手,希望自己在实践中不断的锻炼自己解决问题的能力. 公司里会有这样的场景:有一张电子表格的内容由两三个部门或者更多的部门用到,这些员工会在维护这些表格中不定期的 ...

  8. php curl 的几个实例

    使用PHP的cURL库可以简单和有效地去抓网页.你只需要运行一个脚本,然后分析一下你所抓取的网页,然后就可以以程序的方式得到你想要的数据了.无论是你想从从一个链接上取部分数据,或是取一个XML文件并把 ...

  9. Assert与内存泄漏

    以前知道C/C++有assert之后,我想知道assert会不会造成内存泄漏,于是我做了一个测试: #include <iostream> #include <fstream> ...

  10. 线程(java课堂笔记)

    1.两种方式的差异 2.线程的生命周期 3.线程控制(线程的方法) 4.线程同步 5.线程同步锁 一. 两种方式的差异 A extends Thread :简单 不能再继承其他类了(Java单继承)同 ...