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语句?如何监控?的更多相关文章

  1. Informix 11.5 SQL 语句性能监控方法及实现

    我们知道,在数据库应用系统中,SQL 语句的性能好坏至关重要.如果 SQL 语句性能很差,可能会导致整个数据库应用系统的性能也非常差.那么,如何监控数据库系统中 SQL 语句的性能,导致 SQL 语句 ...

  2. 【转】SQL Server 运行状况监控SQL语句

    SQL Server 运行状况监控SQL语句   Microsoft SQL Server 2005 提供了一些工具来监控数据库.方法之一是动态管理视图.动态管理视图 (DMV) 和动态管理函数 (D ...

  3. DBA 需要知道N种对数据库性能的监控SQL语句

    --DBA 需要知道N种对数据库性能的监控SQL语句 -- IO问题的SQL内部分析 下面的DMV查询可以来检查当前所有的等待累积值. Select wait_type, waiting_tasks_ ...

  4. Oracle种常用性能监控SQL语句

    --Oracle常用性能监控SQL语句 --1 SELECT * FROM SYS.V_$SQLAREA WHERE DISK_READS > 100; --2 监控事例的等待 SELECT E ...

  5. 为什么要监控sql语句,以及如何监控,都有哪几种方式可以监控。

    快速阅读 为什么要监控sql语句,以及如何监控,都有哪几种方式可以监控. 我们知道sql server 中有个工具叫sql profile ,可以实时监控sql server中 执行的sql 语句,以 ...

  6. SQL Server 运行状况监控SQL语句

    Microsoft SQL Server 2005 提供了一些工具来监控数据库.方法之一是动态管理视图.动态管理视图 (DMV) 和动态管理函数 (DMF) 返回的服务器状态信息可用于监控服务器实例的 ...

  7. Oracle 常用性能监控SQL语句

    1.  --查看表锁     SELECT * FROM SYS.V_$SQLAREA WHERE DISK_READS > 100; 2.  --监控事例的等待     SELECT EVEN ...

  8. 性能监控之监控SQL语句

    分析表 analyze table tablename compute statistics for all indexes; analyze table tablename compute stat ...

  9. 应用Druid监控SQL语句的执行情况

    Druid是什么? Druid首先是一个数据库连接池.Druid是目前最好的数据库连接池,在功能.性能.扩展性方面,都超过其他数据库连接池,包括DBCP.C3P0.BoneCP.Proxool.JBo ...

随机推荐

  1. css详解1

    1.css的三种引入方式: 1.1.行内引入 <div style="color:red;">魔降风云变</div> <html> <he ...

  2. Type mismatch: cannot convert from element type Object to String 解决办法

    首先放上我的源码,看看你的代码是不是我这个类似的. @Test void predicateTest() throws Exception { List<String> languages ...

  3. # Spring Boot & thymeleaf模板 使用 th:each 遍历对象数组 -生成一批html标签体

    在controller中取出emps 对象数组 //1.查询所有的员工,返回列表页面 @GetMapping("/emps") public String list(Model m ...

  4. Centos7安装nginx后提示“Welcome to nginx on Fedora!”,conf.d目录下无default.conf文件

    问题描述 在腾讯云centos7上安装nginx sudo yum install nginx 打开默认网页显示 Welcome to nginx on Fedora! 且 /etc/nginx/co ...

  5. Optimize Cube.js Performance with Pre-Aggregations

    转自:https://cube.dev/blog/high-performance-data-analytics-with-cubejs-pre-aggregations/ 可以了解 Pre-Aggr ...

  6. C# 分割字符串 分隔符是字符串的情况

    string[] arr = System.Text.RegularExpressions.Regex.Split(str, "\r\n");

  7. Ubuntu 系统安装ssh的命令

    更新源列表 打开"终端窗口",输入"sudo apt-get update"-->回车-->"输入当前登录用户的管理员密码"-- ...

  8. SSM 整合 ehcache 报错

    异常: org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [org.springfra ...

  9. P1041 传染病控制——暴力遍历所有相同深度的节点

    P1041 传染病控制 说实话这种暴力我还是头一次见,每次病毒都会往下传染一层: 数据范围小,我们可以直接枚举当前层保护谁就好了: 用vector 记录相同层数的节点:维护已经断了的点: 如果超出最底 ...

  10. PreTranslateMessage中有调用模态对话框的解决方法

    原文:https://blog.csdn.net/guoguojune/article/details/45332511 dlg.DoModal()截住了界面消息,所以返回时原来的pMsg的内容已经更 ...