今天遇到了一个问题,关于一个大数据量的操作:
问题描述: 有两个表A,B,结构完全相同.A,B表的数据量在千万级。
所需要处理:把表A和表B的数据和在一起。
示例: 我们把表B的数据插入到表A中去。如果直接用insert语句的话,比较慢,同时操作也不方便,可能需要分批量
写存储过程实现。我的做法是利用imp来实现。
具体代码如下:
exp cbill/cbill123@148 file=B.dmp log=myexp.log tables=B rows=yes statistics=none direct=y &
rename B to B1 (需在数据库操作)
rename A to B (需在数据库操作)
imp cbill/cbill123@148 file=B.dmp log=myimp.log fromuser=cbill touser=cbill ignore=y TABLES=B &
rename B to A (需在数据库操作)
通过上述手段我们可以完成该操作。