大表数据同步

来源:8-1 数据库分库分表的几种方式

sherlock陈

2020-03-25

请问老师,关于大表数据同步有几下几点疑问:

  1. 如果使用存储过程实现,由于两个表的结构都是一样的,如果使用游标读取数据,会不会影响sql性能?还是循环使用“insert into t1 select * from t2 where id>=minid and id<minid+5000;set minid=minid+5000;sleep(5)”?有没有更好的实现方式
  2. 数据同步完后,怎么确定数据的一致性?网上有说使用“select … from a left join b on a.id=b.id where b.id is null union all select … from b left join a on b.id=a.id where a.id is null”,这种sql对于大表数据来说,会不会影响数据库性能?
  3. 对于存储过程,有没有推荐的学习资料?
写回答

1回答

sqlercn

2020-03-25

  1. 建议使用循环的方式进行处理

  2. 首先要保证归档的数据不会被修改,然后简单的统计一下备份的ID数量和要删除的是否相同就可以了

  3. 官方文档是最好的参考资料

0
6
sqlercn
回复
sherlock陈
就是只开一个执行窗口,其它的都关闭
2020-03-25
共6条回复

MySQL提升课程 全面讲解MySQL架构设计

面面俱到讲解影响MySQL性能的各个因素,让MySQL架构了然于胸。

4419 学习 · 547 问题

查看课程