日期:2014-05-17  浏览次数:20549 次

两个数据量大的表之间查询与更新,怎么才能快
TableA,TableB,TableC三个表
TableA(表中三个列t1,t2,c1)
TableC(表中两个列c1,c2)
TableA,TableC都有百万条数据
TableA,TableB的表结构是相同的
我要做的事情是把TableA表里的数据全部复制到TableB中去,
但是TableA的c1字段在TableC中不存在的话不可以复制
怎么处理快。

我现在的方法是把TableA先考到TableB,然后循环TableB的数据到TableC里查询,不存在的话,把TableB的这条数据删除。但是好像很慢。怎么才能快?


我是用.net 开发的batch文件

------解决方案--------------------
insert into TableB(t1,t2,c1) 
select t1,t2,c1 from TableA as A  
where  exists 
(select 1 from tableC as C where C.c1=A.c1)