为什么要监控sql语句?如何监控?
01 为什么要监控sql语句?
① 因为程序大了以后,sql语句有可能被多个地方调用 。你不能确认当前时间是不是只执行了你需要的那条语句 。
② 有的持久层框架采用linq的语法来写sql , 程序中不方便输出sq语句
③ 线上运行的程序,没有办法更改程序。但需要确认问题出错在哪里?执行了哪些sql语句。可以根据sql 语句来判断 出错的地方。
02 如何在mysql中监控sql语句?
默认mysql是不开启的sql语句监控的,当需要开启的时候 ,执行以下命令。
SHOWVARIABLESLIKE"general_log%";
-- off 是关闭,如果是on表示已经开启
SETGLOBALgeneral_log ='ON';
--开启日志监控。
我是已经开启的状态 ,如果没有开启的时候 ,general_log 是显示的off .
如下图所示 ,会看到日志默认保存的路径 位置
C:\ProgramData\MySQL\MySQL Server 5.5\Data\hcb-PC.log

接下来我们执行几条sql语句来查看
执行sql
SELECT* FROM `platform` UPDATE `platform` SET platform_type=2 WHERE id=1
接下来我们去看下日志

可以看到日志中包含了
TimeId Command Argument
分别对应时间 ,id, 命令, 参数
参数指的就是执行的sql语句。
03 如何让mysql中的sql语句显示在表中?
在日志中查看不方便 ,如果让sql语句显示在数据库中的一个表中?
(1)执行如下sql
SET GLOBAL log_output ='TABLE';
SELECT* FROM mysql.general_log ORDER BY event_time DESC

(2)用processlist显示
USE `information_schema`;
SELECT* FROM PROCESSLIST WHERE info IS NOT NULL;
具说这种方式可以实时显示,但是我的不知道为啥不能实时显示新的sql 先记录一下。

作者:Java老王
链接:https://www.jianshu.com/p/ed83bc2ffc6a
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
为什么要监控sql语句?如何监控?的更多相关文章
- Informix 11.5 SQL 语句性能监控方法及实现
我们知道,在数据库应用系统中,SQL 语句的性能好坏至关重要.如果 SQL 语句性能很差,可能会导致整个数据库应用系统的性能也非常差.那么,如何监控数据库系统中 SQL 语句的性能,导致 SQL 语句 ...
- 【转】SQL Server 运行状况监控SQL语句
SQL Server 运行状况监控SQL语句 Microsoft SQL Server 2005 提供了一些工具来监控数据库.方法之一是动态管理视图.动态管理视图 (DMV) 和动态管理函数 (D ...
- DBA 需要知道N种对数据库性能的监控SQL语句
--DBA 需要知道N种对数据库性能的监控SQL语句 -- IO问题的SQL内部分析 下面的DMV查询可以来检查当前所有的等待累积值. Select wait_type, waiting_tasks_ ...
- Oracle种常用性能监控SQL语句
--Oracle常用性能监控SQL语句 --1 SELECT * FROM SYS.V_$SQLAREA WHERE DISK_READS > 100; --2 监控事例的等待 SELECT E ...
- 为什么要监控sql语句,以及如何监控,都有哪几种方式可以监控。
快速阅读 为什么要监控sql语句,以及如何监控,都有哪几种方式可以监控. 我们知道sql server 中有个工具叫sql profile ,可以实时监控sql server中 执行的sql 语句,以 ...
- SQL Server 运行状况监控SQL语句
Microsoft SQL Server 2005 提供了一些工具来监控数据库.方法之一是动态管理视图.动态管理视图 (DMV) 和动态管理函数 (DMF) 返回的服务器状态信息可用于监控服务器实例的 ...
- Oracle 常用性能监控SQL语句
1. --查看表锁 SELECT * FROM SYS.V_$SQLAREA WHERE DISK_READS > 100; 2. --监控事例的等待 SELECT EVEN ...
- 性能监控之监控SQL语句
分析表 analyze table tablename compute statistics for all indexes; analyze table tablename compute stat ...
- 应用Druid监控SQL语句的执行情况
Druid是什么? Druid首先是一个数据库连接池.Druid是目前最好的数据库连接池,在功能.性能.扩展性方面,都超过其他数据库连接池,包括DBCP.C3P0.BoneCP.Proxool.JBo ...
随机推荐
- PHP-5.6.8 源码包编译安装
一.下载源码包后,进行解压 [root@www home]# .tar.bz2 gzip: stdin: not in gzip format tar: Error is not recoverabl ...
- Docker——概念学习
百度百科概念: Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化.容器是完全 ...
- SQL进阶系列之0窗口函数
窗口函数 What's 窗口函数? 窗口函数也称为OLAP(OnLine Analytical Processing)函数,目前MySQL还不支持. 窗口函数的语法 <窗口函数> OVER ...
- js 字符截取 汉字2字符 英文1个字符
function countCharacters(str, num) { var str = '' + str || '', num = +num || 0, res = '', length = 0 ...
- WPF + SelfHost 实现窗体自宿主(API,API和窗体通信)
前言 今天研究了在 WPF 中使用 SelfHost 自宿主. 具体的功能是,在 WPF 中使用自宿主服务,外部调用服务的 API,在 API 里面操作窗体的显示等. 技术点 在 WPF 中集成 Se ...
- 深入理解RocketMQ的消费者组、队列、Broker,Topic
1.遇到的问题:上测试环境,上次描述的鸟问题又出现了,就是生产者发3条数据,我这边只能收到1条数据. 2.问题解决: (1)去控制台看我的消费者启动情况,貌似没什么问题 , (2)去测试服务器里看日志 ...
- linux 登录后有时候会出现-bash-4.1$
转载自https://blog.csdn.net/jiedao_liyk/article/details/78470498 linux登录后有时候会出现-bash-4.1$ 造成这样的原因: 与这个用 ...
- PPP
名称 chat–调制解调器的自动对话脚本 命令格式 chat [options] script 描述 Chat程序定义了一个计算机和调制解调器之间对话交流,其主要目的是用来在本地PPPD和远端PPPD ...
- AtCoder Grand Contest 009 题解
传送门 为啥这场题目少一点啊-- \(A\) 易知增加的数前面肯定比后面大,那么我们倒着做,然后维护一下最小要加多少就可以了 typedef long long ll; const int N=1e5 ...
- UDP 区别于 TCP 的特点
TCP 我们了解得多了,所以今天我们站在 UDP 的角度,探讨一下 UDP 区别于 TCP 的特点. 1. 面向无连接 UDP 比 TCP 简单得多,不需要“三次握手”来建立连接,直接把内容发送出去. ...