我想从一百万行以上的表中删除大约 90% 的行。我能做些什么来加快速度吗?例如如果我打开简单恢复模式会有帮助吗?
最佳答案
使用 select into 将不想删除的行复制到临时表中,然后 truncate表而不是删除。将行复制回旧表中。记得drop contraints首先。
如果您有标识列,则在租用数据后,请使用类似的方法来重新为表设定种子。
declare @seed int
select @seed = max(identity_col)+1 from tableName
DBCC CHECKIDENT (orders, table_name, @seed)
关于sql-server - 如何从大表(sql server)中快速删除大量数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3986763/