如何从大表(sql server)快速删除大量数据

Ror*_*ory 5 sql-server performance sql-server-2005

我想从百万+行表中删除大约90%的行.我可以做些什么来加快速度?例如,如果我打开简单恢复模式,这会有帮助吗?

Pre*_*gha 8

使用select into将您不想删除的行复制到临时表中,然后截断表而不是删除.将行复制回旧表.记得首先放弃约束.

如果您有标识列,则在重新输入数据后,使用类似的方法重新设置表.

declare @seed int
select @seed = max(identity_col)+1 from tableName
DBCC CHECKIDENT (orders, table_name, @seed)
Run Code Online (Sandbox Code Playgroud)