`
maozilee
  • 浏览: 247191 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

MySQL慢查询的2种分析方案

 
阅读更多

 

以下的文章主要介绍的是MySQL慢查询分析方法,前一段日子,我曾经设置了一次记录在MySQL数据库中对慢于1秒钟的SQL语句进行查询。想起来有几个十分设置的方法,有几个参数的名称死活回忆不起来了,于是重新整理一下,自己做个笔记。

对于排查问题找出性能瓶颈来说,最容易发现并解决的问题就是MySQL慢查询以及没有得用索引的查询。

OK,开始找出MySQL中执行起来不“爽”的SQL语句吧。

MySQL慢查询分析方法一:

这个方法我正在用,呵呵,比较喜欢这种即时性的。

MySQL5.0以上的版本可以支持将执行比较慢的SQL语句记录下来。

  1. MySQL> show variables like 'long%';  

注:这个long_query_time是用来定义慢于多少秒的才算“慢查询”

  1. +-----------------+-----------+  
  2. | Variable_name | Value |  
  3. +-----------------+-----------+  
  4. | long_query_time | 10.000000 |   
  5. +-----------------+-----------+  
  6. 1 row in set (0.00 sec)  
  7. MySQL> set long_query_time=1;   

注: 我设置了1, 也就是执行时间超过1秒的都算慢查询。

  1. Query OK, 0 rows affected (0.00 sec)  
  2. MySQL> show variables like 'slow%';  
  3. +---------------------+---------------+  
  4. | Variable_name | Value |  
  5. +---------------------+---------------+  
  6. | slow_launch_time | 2 |   
  7. | slow_query_log | ON |   

注:是否打开日志记录

  1. | slow_query_log_file | /tmp/slow.log |  

注: 设置到什么位置

  1. +---------------------+---------------+  
  2. 3 rows in set (0.00 sec)  
  3. MySQL> set global slow_query_log='ON'   

注:打开日志记录

一旦slow_query_log变量被设置为ON,MySQL会立即开始记录。

/etc/my.cnf 里面可以设置上面MySQL全局变量的初始值。

 

  1. long_query_time=1 
  2. slow_query_log_file=/tmp/slow.log 

 

MySQL慢查询分析方法二:

MySQLdumpslow命令

 

  1. /path/MySQLdumpslow -s c -t 10 /tmp/slow-log 

 

这会输出记录次数最多的10条SQL语句,其中:

 

-s, 是表示按照何种方式排序,c、t、l、r分别是按照记录次数、时间、查询时间、返回的记录数来排序,ac、at、al、ar,表示相应的倒叙;

-t, 是top n的意思,即为返回前面多少条的数据;

 

-g, 后边可以写一个正则匹配模式,大小写不敏感的;

 

比如

 

  1. /path/MySQLdumpslow -s r -t 10 /tmp/slow-log 

 

得到返回记录集最多的10个查询。

 

 

  1. /path/MySQLdumpslow -s t -t 10 -g “left join” /tmp/slow-log 

 

得到按照时间排序的前10条里面含有左连接的查询语句。

以上的相关内容就是对MySQL慢查询分析的介绍,望你能有所收获。

 

 

 

来源:

http://www.bitscn.com/pdb/mysql/201006/186917.html

 

分享到:
评论

相关推荐

    MySQL慢查询优化之慢查询日志分析的实例教程

    数据库响应慢问题最多的...先看看MySQL慢查询日志里面的记录长什么样的: Time Id Command Argument # Time: 141010 9:33:57 # User@Host: root[root] @ localhost [] Id: 1 # Query_time: 0.000342 Lock_time: 0.00

    高性能MySQL(第3版).part2

    第2章MySQL基准测试35 2.1为什么需要基准测试35 2.2基准测试的策略37 2.2.1测试何种指标38 2.3基准测试方法40 2.3.1设计和规划基准测试41 2.3.2基准测试应该运行多长时间42 2.3.3获取系统性能和状态43 2.3.4...

    MySQL查询随机数据的4种方法和性能对比

    下面从以下四种方案分析各自的优缺点。方案一: 代码如下:SELECT * FROM `table` ORDER BY RAND() LIMIT 0,1;这种方法的问题就是非常慢。原因是因为MySQL会创建一张零时表来保存所有的结果集,然后给每个结果一个...

    MySQL的慢日志线上问题及优化方案

    本文将结合一个线上案例,分析如何正确设置 MySQL 慢日志参数和使用慢日志功能,并介绍下网易云 RDS 对 MySQL 慢日志功能的增强。 MySQL 参数组功能 网易云 RDS 实例提供了参数组管理功能,可通过参数管理界面查看...

    2017最新老男孩MySQL高级专业DBA实战课程全套【清晰不加密】,看完教程月入40万没毛病

    02-MySQL数据乱码及多种解决方案实战2.avi 03-MySQL不乱码5种方法及不乱码根源深入详解.avi 04-下节内容及课后作业说明.avi 05-课前思想-17期学生23万入职BAT公司 06-课前思想-及课前考试题说明.avi 07-MySQL字符集...

    卡巴斯基导致apache慢的解决方案

    卡巴斯基导致apache慢的解决方案 应该说,在win平台上用apche+mysql开发的朋友应该是比较多,毕竟,我们不能只写程序,还得要用很多win上的软件 如果你是在上面所说的平台开发并且安装了卡巴斯基的话,你把卡巴...

    Node、koa2、mysql 基于mpvue的网易严选商城.zip

    后端:Node、koa2、mysql、knex.js 操作数据库。后台代码已上线腾讯云 MySQL 是一款广受欢迎的开源关系型数据库管理系统(RDBMS),由瑞典MySQL AB公司开发,现隶属于美国甲骨文公司(Oracle)。自1998年首次发布...

    MySQL管理之道 性能调优、高可用与监控.part2.rar

    《mysql管理之道:性能调优、高可用与监控》由资深mysql专家撰写,以最新的mysql版本为基础,以构建高性能mysql服务器为核心,从故障诊断、表设计、sql优化、性能参数调优、mydumper逻辑、xtrabackup热备份与恢复、...

    基于Java+MySQL设计与实现的秒杀与抢购模型架构【100013279】

    对高并发高负载情形下的应用场景进行分析,以高效地处理...第三种方案的吞吐量慢于上述两种,CAS机制效果不错。 第二种方案的响应时间最慢,原因是高并发情形下多个线程不断回滚,耗费了大量的CPU资源,导致性能低下。

    深入分析MySQL Sending data查询慢问题

    给大家深入分析一下MySQL Sending data表查询慢的问题,并给出了详细的解决方案,一起来参考下。

    美团网技术团队分享的MySQL索引及慢查询优化教程

    主要介绍了美团网技术团队分享的MySQL索引及慢查询优化教程,结合了实际的磁盘IO情况对一些优化方案作出了分析,十分推荐!需要的朋友可以参考下

    [零食商贩] - 基于vue全家桶 + koa2 + sequelize + mysql 搭建的移动商城应用.zip

    慢查询日志(slow query log):记录执行时间超过指定阈值的查询,帮助识别和优化性能瓶颈。 应用场景 MySQL广泛应用于各种规模和类型的项目,包括但不限于: Web应用程序:作为众多网站和Web服务(如电子商务...

    如何将MySQL查询速度提升300倍?

    在进行性能分析前,需要先定位耗时查询。  MySQL 提供了内建的耗时查询日志。使用前,打开 my.cnf 文件,将slow_query_log 设置为”On”。 同时将 long_query_time 设置为一个对一次查询来说比较慢的时间(秒数)...

    基于 nodejs express mysql 开发的留言板 demo.zip

    慢查询日志(slow query log):记录执行时间超过指定阈值的查询,帮助识别和优化性能瓶颈。 应用场景 MySQL广泛应用于各种规模和类型的项目,包括但不限于: Web应用程序:作为众多网站和Web服务(如电子商务...

    基于C#试题库管理系统(MySQL).zip

    慢查询日志(slow query log):记录执行时间超过指定阈值的查询,帮助识别和优化性能瓶颈。 应用场景 MySQL广泛应用于各种规模和类型的项目,包括但不限于: Web应用程序:作为众多网站和Web服务(如电子商务...

    基于Java Swing + MySQL的图书管理系统.zip

    慢查询日志(slow query log):记录执行时间超过指定阈值的查询,帮助识别和优化性能瓶颈。 应用场景 MySQL广泛应用于各种规模和类型的项目,包括但不限于: Web应用程序:作为众多网站和Web服务(如电子商务...

    C++ Qt 基于数据库Mysql学生信息管理系统.zip

    慢查询日志(slow query log):记录执行时间超过指定阈值的查询,帮助识别和优化性能瓶颈。 应用场景 MySQL广泛应用于各种规模和类型的项目,包括但不限于: Web应用程序:作为众多网站和Web服务(如电子商务...

    基于Flask + MySQL的在线请假微信小程序.zip

    慢查询日志(slow query log):记录执行时间超过指定阈值的查询,帮助识别和优化性能瓶颈。 应用场景 MySQL广泛应用于各种规模和类型的项目,包括但不限于: Web应用程序:作为众多网站和Web服务(如电子商务...

Global site tag (gtag.js) - Google Analytics