数据比对问题

来源:百度知道 编辑:UC知道 时间:2024/06/06 16:32:31
有两张表 表结构都是一样的
一张表有700W条数据,另一张表300W条数据
现在我要将300W条数据的表和700W条数据的表一条条的进行数据比对
请问有什么好的办法吗
300W和700W比对,如果700W没有的,就将300W的那条数据插入到700W里面去

理论上你可以使用jion语句,但实际使用起来,速度很慢,还不如自己写个小程序,用游标来处理,大致过程如下:
1、原来的两种表上,必须建索引
2、定义一个游标,比方说declare my_test cursor for select * from table_a
3、打开游标,open my_test
4、取出关键字 Fetch my_test into @key
5、循环
while @@sqlstatus!=2
begin
...
Fetch my_test into @key
end
6、关闭、释放游标
7、循环体里面的主要操作:
检索在table_b中有没有这个记录 if exists(select key from table_b
where key=@key)
...
根据检索结果,分别进行处理
这么复杂的问题,才给50分,太吝啬了!呵~呵~~

insert into 表700W select * from 表300W where 主键 not in (select 主键 from 表700W)

这样就可以把300W在700W里没有的数据全部插入到700W里