实现删除的最快方法,然后从一个数据库插入到另一个数据库?

时间:2014-01-13 11:27:04

标签: sql-server sql-server-2008

我现在有这个SQL:

delete from [db_dest].[dbo].[Table1];

insert into [db_dest].[dbo].[Table1] select * from [db_src].[dbo].[Table1];

我还有其他可靠的选择吗? MERGE会更快吗?

1 个答案:

答案 0 :(得分:2)

通常,如果需要从表中删除所有记录 - 请考虑使用TRUNCATE TABLE。这样更快,特别是当表包含许多记录时,因为在使用DELETE FROM时会记录每个单独的记录删除。

合并通常不会比纯TRUNCATE TABLE后跟INSERT快,因为Merge必须在两个表中逐个字段地比较记录,以便能够更新已从源更改的记录,或删除源中不再可用的记录。