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

标签 sql-server performance sql-server-2005

我想从一百万行以上的表中删除大约 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/

相关文章:

sql-server - 获取 SQL 计算列插入值

java - sql server 2005 通过 windows 身份验证连接

swift - IN 运算符的 Realm 查询速度慢

sql-server - SQL LIKE 参数 : huge performance hit

python - 根据列值删除 Pandas 中的 DataFrame 行

SQL获取日期列表以及之前和之后的天数而不重复

sql-server - 分解 SQL 脚本

SQL Server SELECT INTO @variable?

sql - 将具有默认值的列添加到大表中

sql-server - SQL Server 2005/2008 - 多个文件组?