2012-11-26 169 views
1

我有兩個大表(塔布拉A和表格B)。我想將表B與表A同步(添加缺少的記錄)。但是,當我使用NOT EXIST或使用LEFT OUTER JOIN方法時,它會給出超時。任何其他解決方案來執行此技巧?替代WHERE NOT EXISTS或LEFT OUTER JOIN方法

+2

您對連接列有任何索引嗎? –

+0

有'不在',但通常比較慢。 – GolezTrol

+0

@RomanPekar這兩個表都有索引。儘管我沒有連接的交叉表索引。這甚至有可能嗎? – bicycle

回答

0

通過在表B中添加外鍵約束來解決

+0

解決您的問題是一件好事,但**添加外鍵不會添加缺少的記錄**。 –

+0

@LievenKeersmaekers真實的,但添加外鍵約束不存在或左外連接已經不給超時,因此,問題的答案後。現在通過NOT EXISTS或LEFT OUTER JOIN,我可以添加缺失的記錄。 – bicycle

+0

添加FK可以提高性能*(至少SQL Server上)*但不是在相同的數量級順序爲指標不*(你已經確認指標存在)*。我不質疑你的陳述,但對我來說也沒有意義。 –