如何从 SQL Server 2000 中删除 150 万行,以及完成此任务需要多长时间。
我不想删除表中的所有记录...我只想删除满足 WHERE 条件的所有记录。
从评论编辑为下面的答案。
“我触发相同的查询,即使用Where子句从table_name中删除...是否可以在正在运行的查询中禁用索引,因为查询在过去20小时内一直在进行..还请帮助我了解如何禁用索引..”
最佳答案
如果(且仅当)您想要删除表中的所有记录,您可以使用 DROP TABLE 或 TRUNCATE TABLE。
DELETE 一次删除一条记录,并在事务日志中为每个删除的行记录一个条目。 TRUNCATE TABLE 速度要快得多,因为它不在事务日志中记录事件。它从表中删除所有行,但表结构及其列、约束、索引等仍然保留。 DROP TABLE 会删除这些。
如果您决定截断,请务必小心。这是不可逆转的(除非您有备份)。
关于sql - SQL Server 中表的多行删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/478327/