针对binlog MIXED格式对表的增删改统计分析

通常情况下DB都是有非常完整的监控的,那么如果监控不完善,那么在某段时间内又发生了性能问题,那么我们也可以分析binlog来尝试找到问题。下面就贴出命令,其实就是常用的命令组合。

mysqlbinlog --no-defaults --base64-output=decode-rows -vv mysql-bin.009260 | awk ‘/UPDATE|INSERT|DELETE/{gsub("###","");gsub("INSERT.*INTO","INSERT");gsub("DELETE.*FROM","DELETE");count[$1" "$2]++}END{for(i in count)print i,"\t",count[i]}‘ |sort -k3nr|head -n 10

效果如下:

mysqlbinlog --no-defaults --base64-output=decode-rows -vv mysql-bin.009260 | awk ‘/UPDATE|INSERT|DELETE/{gsub("###","");gsub("INSERT.*INTO","INSERT");gsub("DELETE.*FROM","DELETE");count[$1" "$2]++}END{for(i in count)print i,"\t",count[i]}‘ |sort -k3nr|head -n 10
DELETE sq_common_session         55021
INSERT sq_common_session         55020
DELETE sq_common_member_secwhite         33838
UPDATE LOW_PRIORITY      14958
UPDATE sq_common_session         2745
INSERT sq_common_seccheck        1302
UPDATE sq_common_member_status   1245
UPDATE sq_common_member          528
UPDATE sq_common_stat    504
UPDATE sq_common_member_count    406

解析binlog后能清楚看见在这个时间段的DML操作,比如哪个表update次数最多,哪个表delete次数最多。就说这么多了,其他的小伙伴们自己体会吧。

时间: 2024-10-14 00:53:58

针对binlog MIXED格式对表的增删改统计分析的相关文章

webform 对表的增删改查

增删改查的方法代码 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class xiugai : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs

MyBatis 学习总结 02 对表执行增删改查(CRUD)操作 OLD

 可以对上一节中使用mybatis打开一次session的业务逻辑进行封装,封装的成工具类命名为: MyBatisUtil package com.mybatis.util; import java.io.InputStream; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlS

MyBatis -- 对表进行增删改查(基于XML的实现)

1.MyBatis对表中数据进行增/删/改/查操作 在前一篇中已经知道怎么搭建环境并且查询数据库  MyBatis -- 一步步教你使用MyBatis 接下来我们来看看怎么用MyBatis进行增/.删/改/查 1.1  定义映射sql的xml文件 文件内容如下: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapp

创建表及对表的增删改查基本操作

查看数据库的名称: SQL>show parameter db_name 查询scott用户的状态: SQL>select username,account_stutas from dba_users where username='SCOTT'; 解锁scott用户:alter user 解锁用户名 account unlock: SQL>alter user scott account unlock: 查询用户拥有那些表: SQL>select user_name from u

数据库之对表的增删改查

ORM--对象关系映射创建表 from django.db import models<br> class Publisher(models.Model): name = models.CharField(max_length=30, verbose_name="名称") address = models.CharField("地址", max_length=50) city = models.CharField('城市',max_length=60)

通过存储过程操作临时表实现对表的增删改

A为表名 A_TR为临时表(操作完自动删除里面数据),下面是存储过程代码: create or replace procedure A_UPDATE(p_id in varchar2) as user_err exception; -- user exception user_err_code varchar2(200); -- contents of user error err_sqlcode   varchar2(100); -- err code proc_name     varcha

webApi实现增删改查操作

1.WebApi是什么 ASP.NET Web API 是一种框架,用于轻松构建可以由多种客户端(包括浏览器和移动设备)访问的 HTTP 服务.ASP.NET Web API 是一种用于在 .NET Framework 上构建 RESTful 应用程序的理想平台. 可以把WebApi看成Asp.Net项目类型中的一种,其他项目类型诸如我们熟知的WebForm项目,Windows窗体项目,控制台应用程序等. WebApi类型项目的最大优势就是,开发者再也不用担心客户端和服务器之间传输的数据的序列化

WinForm DataGridView增删改查

连接数据库对表进行增删改查 1.绑定数据源 //做一个变量控制页面刷新 public static int bs = 0; public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { JianSanDA da = new JianSanDA(); //绑定数据源 dataGridView1.DataSource = da.Select(); //设置不自动生成列 d

java DMO及增删改查代码的自动生成

在web开发过程中,尤其是后台管理系统的开发中,少不了增删改成的基础操作,原来我自己的做法是一份一份的拷贝粘贴,然后修改其中的不同,然而这样既枯燥无味又浪费了大量的时间,所以根据自己项目结构的特点写了一个自动生成结构代码的工具jar包,可以根据数据库表直接生成相应数据库模型对象(DMO)以及对表的增删改查代码. 之前我考虑过多种自动生成代码的提供方式,比如web的方式,通过在页面文本框里面输入各种参数,比如模板文件地址,生成文件地址,数据库名,数据库用户名和密码等,点击生成按钮就可以生成源代码文