场景
数据库A,其中有三张表,t1,t2,t3,分别记录了用户的行为数据,且三者有关联关系
数据库B,需要把A库的t1,t2,t3的数据导入进B库中(因为只有查询权限,没有配置主从的权限)
难点
库A的三张表都是高速插入的,可能一个小时都有几万条数据(也许也没有那么多)
问:如何实现复制库A的数据到库B中?
使用的开发环境是:php
、mysql
我想到的办法
1.写一个php的死循环
2.在死循环里读取库A的数据,每次100条,导入库B后,记录其中最大的ID值
3.睡眠5秒
4.再次执行的循环的时候,从最大的iD值往后查100条,导入库B,如果读取库A的数据小于100条的时候,导入库B工作完成后,就睡眠10秒
如果连续3次库A都没有更新数据,那么就睡眠20秒,如此反复,最大睡眠30秒,这样
不知道我的想法是否靠谱,求各位老司机看看!!
你不停地插入A,又想复制到b自然是冲突的,
要是你A,B要同时插入的话可以这样做:
正在运行的程序想插入数据库的时候,先查询A,不存在则同时插入到A和B,然后慢慢把A中不存在于B中的数据插进来
要是丢弃A,要用B的话:
正在运行的程序想插入数据库的时候,插入之前查询A,不存在则插入到B,A中的数据慢慢插到B中去