一种基于binlog的大表变更及清理方法

基本信息

申请号 CN202210170460.3 申请日 -
公开(公告)号 CN114547013A 公开(公告)日 2022-05-27
申请公布号 CN114547013A 申请公布日 2022-05-27
分类号 G06F16/215(2019.01)I;G06F16/22(2019.01)I;G06F16/23(2019.01)I;G06F16/21(2019.01)I 分类 计算;推算;计数;
发明人 刘隆剑;陈翔;欧志伟;吴坚 申请(专利权)人 上海甄云信息科技有限公司
代理机构 北京知呱呱知识产权代理有限公司 代理人 -
地址 201706上海市青浦区香花桥街道郏一村7号3幢1层A区046室
法律状态 -

摘要

摘要 本发明公开了一种基于binlog的大表变更及清理方法。该方法主要包括:接收输入参数(数据库连接信息、表名、DDL命令和where条件);创建日志记录表和幽灵表,如果为DDL操作,则先将DDL命令应用到幽灵表;通过insert into的方式从原表拷贝数据至幽灵表,如果为数据清理操作,则在insert int语句中拼接where条件,只拷贝符合where条件的数据,同时监听binlog日志批量解析dml事件;监测到数据拷贝完成且没有新的binlog事件,进行原表和幽灵表的切换。本发明灵活性、稳定性较好,既可以用作大表变更,也可以用作数据清理,在实际生产环境使用过程中,对数据库性能影响较小。