0

Table1 (ID、Table2ID、Col1、...) と Table2 (ID、Col1、...) の 2 つのテーブルがあります。Table2ID は、Table2 からの外部キー参照です。Table1 に ID (Table2ID) が存在しないレコードを Table2 から削除するクエリを作成したいと考えています。Table1 > 300 million および Table1 > 100 million のレコード数。2 つのクエリを考えていますが、どちらが高速かはわかりません。

クエリ 1 (機能しませんでした):

delete from Table2
select ID from Table2
except
select Table2ID from Table1

クエリ 2:

delete from Table2
where ID not in (select distinct Table2ID from Table1)
4

3 に答える 3

1

これを試して...

select * 
into #temptable2
from table2 t2,table1 t1 
where t1.table2id = t2.id;

truncate table table2;

insert into table2
select * from #temptable2;    
于 2013-07-10T14:14:20.350 に答える