zhangtao's Blog

好记性不如烂笔头

优雅数据同步--canal实现mysql同步demo

当需要两张表数据同步的时候,我们会想到几种方案? 最简单的一种方式就是触发器的方式。例如A同步到B,可以通过下面的sql来添加触发器 create trigger tri_trade_update after UPDATE

公司open api对接遇到的问题解决

之前在写开放平台的接口的时候,碰到了一些问题,记录一下 由于工期很赶,所以还没来得及自己测试,接口匆匆忙忙上线,当客户在用时,发现查询接口使用

记一次长事务问题排查思路

今天早上dba群里抛出一个问题说,有一个长事务一直在重复执行我们的一个语句。于是问题抛给我们,我们开始排查。 首先dba告知我们这句sql是重

通过数据库唯一索引实现分布式锁

伪代码 // 需要加事务 @Transactional @Override public <T> T lock(XxxLock lock, ILockCallback<T> callback) { // 数据库加锁 lock(lock); // 加锁逻辑 T result = callback.callback(); //释放锁 try { lockDao.batchDelete(locks); } catch (Exception e) { logger.error("mysq

事务隔离级别实现-行锁与MCCC

我们都知道数据库在并发同时执行的时候,就可能出现脏读、不可重复读、幻读的问题,为了解决这些问题,设置了四种事务的隔离级别,分别是 读未提交:A

为什么我两次sql查询,查出来的对象引用是同一个?

回答这个问题,我们需要掌握MyBatis的缓存概念,如果我们两次查询,一次是数据库查询,而第二次直接取得缓存中的数据,那么这两次查询查询的数

某个表有近千万数据,CRUD比较慢,如何优化?分库分表了是怎么做的?分表分库了有什么问题?有用到中间件么?他们的原理知道么?

数据千万级别之多,占用的存储空间也比较大,可想而知它不会存储在一块连续的物理空间上,而是链式存储在多个碎片的物理空间上。可能对于长字符串的比

超详细,从零开始搭建阿里云服务器(centos7)第五章 安装mysql

1.下载MySQL源安装包 wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm 安装MySql源 yum -y install mysql57-community-release-el7-11.noarch.rpm 查看一下安装效果 yum repolist enabled | grep mysql.* 2.安装MySQL服务器 yum install mysql-community-server 中间会弹出是与否的选择,选择

MySql存储引擎和数据结构

InnoDB 支持事务 支持外键 对比MyISAM引擎,写的处理效率会差一些,并且会占用更多的磁盘空间以保留数据和索引 MyISAM 不支持事务 不支持外键 优势是访问速度快

数据库之锁与事务

前言: 我们都知道事务的几种性质,数据库为了维护这些性质,尤其是一致性和隔离性,一般使用加锁这种方式。同时数据库又是个高并发的应用,同一时间会