Sql server 2005 截断表A和从表中删除有什么区别

Sql server 2005 截断表A和从表中删除有什么区别,sql-server-2005,Sql Server 2005,可能的重复项: 截断表A和从表中删除有什么区别?从表中删除记录时最好使用哪一种方法。可以在Microsoft文档中轻松找到此答案: 与DELETE语句相比,TRUNCATE TABLE具有以下优点: 使用更少的事务日志空间。DELETE语句一次删除一行,并在事务日志中为每个删除的行记录一个条目。TRUNCATE TABLE通过取消分配用于存储表数据的数据页来删除数据,并在事务日志中仅记录页面取消分配。 通常使用较少的锁。使用行锁执行DELETE语句时,表中的每一行都会被锁定以进行删除。TRUN

可能的重复项:


截断表A和从表中删除有什么区别?从表中删除记录时最好使用哪一种方法。

可以在Microsoft文档中轻松找到此答案:

与DELETE语句相比,TRUNCATE TABLE具有以下优点:

使用更少的事务日志空间。DELETE语句一次删除一行,并在事务日志中为每个删除的行记录一个条目。TRUNCATE TABLE通过取消分配用于存储表数据的数据页来删除数据,并在事务日志中仅记录页面取消分配。 通常使用较少的锁。使用行锁执行DELETE语句时,表中的每一行都会被锁定以进行删除。TRUNCATE TABLE始终锁定表和页,但不锁定每一行。 毫无例外,表中只剩下零页。执行DELETE语句后,表仍然可以包含空页。例如,如果没有至少一个独占的LCK_M_X表锁,则无法释放堆中的空页。如果删除操作不使用表锁,则表堆将包含许多空页。对于索引,删除操作可以留下空页,尽管这些页将通过后台清理过程快速释放。 请参阅重复的和大量的其他问题。。。。。