博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
慢查询日志的另外一种方法
阅读量:6454 次
发布时间:2019-06-23

本文共 1864 字,大约阅读时间需要 6 分钟。

前言:前几天介绍了通过工具mysqldumpslow分析慢查询日志的方法,随着工作的进展又发现了另外一个更加好用的方法:把慢日志记录到mysql数据库中。

 

方法介绍:通过设置参数log_output可以定义mysql的慢查询日志是存放在文件还是数据表中;

mysql> show variables like 'log_output';

+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_output    | FILE  |
+---------------+-------+
1 row in set (0.00 sec)

注:Value值是输出的格式,当前的Value值为FILE说明把慢查询日志存放在OS的文件中;

 

mysql> set global log_output='TABLE';

Query OK, 0 rows affected (0.00 sec)

注:设置当前的输出为mysql中的表;

mysql> show variables like 'log_output';

+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_output    | TABLE |
+---------------+-------+
1 row in set (0.00 sec)

注:现在输出为mysql中的表了;

 

测试:

 

建议:slow_log创建时候默认的数据库引擎是CSV,该引擎的查询效率比较低,可以修改成MyISAM;

mysql> select * from mysql.slow_log;

CREATE TABLE `slow_log` (

  `start_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `user_host` mediumtext NOT NULL,
  `query_time` time NOT NULL,
  `lock_time` time NOT NULL,
  `rows_sent` int(11) NOT NULL,
  `rows_examined` int(11) NOT NULL,
  `db` varchar(512) NOT NULL,
  `last_insert_id` int(11) NOT NULL,
  `insert_id` int(11) NOT NULL,
  `server_id` int(10) unsigned NOT NULL,
  `sql_text` mediumtext NOT NULL
) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='Slow log';

 

整理了一个常用的语句:使用次数进行排序慢查询的sql语句

mysql> select sql_text, count(1),avg(query_time),avg(rows_sent),avg(rows_examined)
from slow_log
group by (sql_text)
order by avg(query_time) desc

........................................................................................................................................................................

本文作者:JOHN,某上市公司DBA,业余时间专注于数据库的技术管理,从管理的角度去运用技术。

ORACLE技术博客:ORACLE 猎人笔记               数据库技术群:367875324 (请备注ORACLE管理 ) 

........................................................................................................................................................................

转载地址:http://bdbzo.baihongyu.com/

你可能感兴趣的文章
从一个骗局谈生活中的基础算法
查看>>
前端存贮全家桶--cookie、sessionStorage、localStorage、和indexedDB重点合集
查看>>
互联网"凛冬",看大厂HR怎么说~
查看>>
学习new和instanceof知识小结
查看>>
面试必备:LinkedHashMap源码解析(JDK8)
查看>>
【深度学习之美】第一篇:Understanding LSTM Networks
查看>>
快速理解 设计模式六大原则
查看>>
Spring Cloud 微服务实战详细笔记
查看>>
Java面试通关要点汇总集答案(六)——JDBC 流程 MVC 设计思想
查看>>
Web核心-Servlet
查看>>
ElasticSearch 远程代码执行漏洞分析(CVE-2015-1427)&高级利用方法
查看>>
URL重定向/跳转漏洞
查看>>
Android进程启动与Activity显示
查看>>
浏览器从输入URL到页面加载过程(+1白话精简讲解)
查看>>
一文读懂物体分类AI算法:LeNet-5 AlexNet VGG Inception ResNet MobileNet
查看>>
JavaScript 事件节流和事件防抖
查看>>
iOS 中 weak 的实现原理
查看>>
android MVC && MVP && MVVM分析和对比
查看>>
iOS 串行语音播报解决方案(实现支付宝语音收款功能)
查看>>
Nginx 学习系列(三) ------------- alias、root指令区别
查看>>