`
maozilee
  • 浏览: 251462 次
  • 性别: 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 慢查询页面工具 Query-Digest-UI 是一个基于 Percona Toolkit 的图形化监控解决方案,它帮助管理员可视化 MySQL 的慢查询日志,从而更有效地进行性能调优。通过安装和配置该工具,你可以实时监控...

    mysql查询分析器

    MySQL查询分析器是一种强大的工具,专门用于帮助数据库管理员和开发人员高效地管理和操作MySQL数据库。SQLYog Enterprise绿色版是其中的一款,它提供了一个直观且功能丰富的界面,使得执行SQL查询、管理数据库对象...

    MySQL企业版监控器与查询分析器

    2. 监控器与查询分析器的作用:监控器用于持续跟踪数据库性能和应用查询的问题,而查询分析器则是一个强大的工具,它帮助开发者和数据库管理员(DBA)识别和解决性能问题。这些工具尤其在生产环境中至关重要,因为在...

    mysql-slow-log-import-to-elasticsearch:将mysql慢查询日志导入elasticsearch进行分析

    2. **日志格式解析**:MySQL慢查询日志有固定的格式,包含查询开始时间、用户、执行时间、锁等待时间等信息。在导入Elasticsearch前,需要对这些日志进行解析。在这个项目中,使用了`Awk`命令行工具,这是一个强大的...

    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性能优化-慢查询分析、优化索引和配置.doc

    本文将详细探讨慢查询分析、优化索引以及MySQL的配置优化。 一、优化概述 MySQL性能优化的目标是减少CPU和I/O的瓶颈。CPU瓶颈通常发生在数据加载到内存或从硬盘读取时,而I/O瓶颈则发生在数据量超过内存容量的情况...

    MYSQL优化实施方案

    ### MySQL优化实施方案 #### 前言 在深入MySQL优化之前,我们首先需要理解MySQL的查询过程,因为很多查询优化工作本质上就是确保MySQL优化器能够按照预期的方式高效地执行查询。接下来,我们将从多个角度来探讨如何...

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

    在优化过程中,可以通过监控和分析慢日志,找到那些耗时较长、资源消耗大的SQL语句,对其进行优化,如添加合适的索引、调整查询语句结构或优化数据访问策略。 在使用网易云RDS服务时,用户可以通过参数组功能来管理...

    高性能MySQL 2nd

    - **慢查询日志分析**:开启慢查询日志记录,定期检查并优化执行时间过长的SQL语句,是提高系统性能的有效途径之一。 - **内存管理与配置**:根据服务器硬件配置合理设置MySQL的相关参数(如innodb_buffer_pool_size...

    简单谈谈MySQL优化利器-慢查询

    其中,慢查询日志是MySQL提供的一种有效工具,它能够记录那些执行时间超过预设阈值的查询语句,帮助数据库管理员识别并优化性能瓶颈。本文将详细探讨如何开启和利用慢查询日志来提升MySQL的性能。 首先,要检查慢...

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

    8. 监控与分析:定期使用MySQL的性能分析工具,如`EXPLAIN`、`PROFILE`等,对查询性能进行诊断和优化。 总之,选择合适的方法查询随机数据,结合SQL优化技巧和数据库设计策略,能够显著提升MySQL的查询性能。在实际...

    MySQL全量SQL分析与审计平台介绍.pptx

    该平台能够实时监控数据库性能,提供SQL执行详情、性能趋势、慢查询分析等功能,帮助DBA快速定位问题并进行优化。 数据采集服务负责从MySQL实例中获取Performance Schema的数据,这可能涉及到定期轮询或者利用...

    mysql数据库故障排除方案.docx

    本文介绍了 MySQL 数据库故障排除的常见方法和解决方案,涵盖了慢查询日志分析、查询数据库总大小、主从复制、查询 MySQL 进程、查看 MySQL 锁或者死锁、Out of memory 错误、字符集创建数据库、权限控制、备份 ...

    MySQL千万级大表深度分页为什么慢,以及优化的方法、原理

    【MySQL千万级大表深度分页慢的原因及优化方法】 在MySQL中,处理千万级大表的深度分页查询时,通常会遇到性能问题。这是因为MySQL的查询优化器在面对大量数据的分页请求时,可能选择全表扫描而不是利用索引来提高...

    mysql数据库故障排除方案.pdf

    本文档主要介绍了 MySQL 数据库故障排除方案,涵盖了数据库连接数、慢查询日志、数据库总大小、Top 10 大表、主从复制、MySQL 进程和锁死锁等多个方面的知识点。 第一部分:连接数 * 使用 `mysql> status;` 或 `...

    mysql高并发解决方案

    通过分析慢查询日志,找出执行效率低下的SQL并进行调整。 2. **读写分离**:将读操作和写操作分配到不同的数据库服务器,以减轻主库的压力。可以使用中间件实现,例如MySQL Proxy或MySQL Router。 3. **分库分表**...

    如何优化Mysql千万级快速分页

    在实际开发中,我们经常会遇到 MySQL 数据库的性能问题,特别是在处理千万级数据时,分页查询的性能会变得非常慢。在这篇文章中,我们将探讨如何优化 MySQL 千万级快速分页,详细介绍解决方案。 问题描述 我们有一...

    高性能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认证

    7. **自动化运维工具**:了解腾讯云提供的自动化运维工具,如SQL审核、慢查询分析、性能诊断等,以及如何利用这些工具提高运维效率。 8. **最佳实践**:学习行业内的最佳实践,如数据库设计原则、性能调优策略、高...

    MySQL优化、问题案例分析

    经排查发现,数据库中有大量执行时间超过2秒的慢SQL语句。具体示例如下: ```sql SELECT uid FROM `user` WHERE mo=13772556391 LIMIT 0,1; ``` ##### 执行计划分析 在未添加索引的情况下,该查询的执行计划显示为...

Global site tag (gtag.js) - Google Analytics