sqlserver快速删除记录⽅法
使⽤TRUNCATE TABLE语句可以快速、⽆⽇志记录删除表中的所有⾏,与DELETE 语句相⽐,TRUNCATE TABLE⽆疑具有更多优点。AD:
TRUNCATE TABLE 与DELETE 语句相⽐,所⽤的事务⽇志空间较少、使⽤的锁通常较少,是中快速、⽆⽇志记录删除表中的所有⾏最常⽤的⽅法之⼀。
若要删除SQL表中的所有⾏,则 TRUNCATE TABLE 语句是⼀种快速、⽆⽇志记录的⽅法。TRUNCATE TABLE 与不含有 WHERE ⼦句的 DELETE 语句在功能上相同。但是,TRUNCATE TABLE 速度更快,并且使⽤更少的系统资源和事务⽇志资源。sql中delete用法
与SQL中DELETE 语句相⽐,TRUNCATE TABLE 具有以下优点:
所⽤的事务⽇志空间较少。
DELETE 语句每次删除⼀⾏,并在事务⽇志中为所删除的每⾏记录⼀项。TRUNCATE TABLE 通过释放⽤于存储表数据的数据页来删除数据,并且在事务⽇志中只记录页释放。
使⽤的锁通常较少。
当使⽤⾏锁执⾏ DELETE 语句时,将锁定表中各⾏以便删除。TRUNCATE TABLE 始终锁定表和页,⽽不是锁定各⾏。
如⽆例外,在表中不会留有任何页。
执⾏ DELETE 语句后,表仍会包含空页。例如,必须⾄少使⽤⼀个排他 (LCK_M_X) 表锁,才能释放堆中的空表。如果执⾏删除操作时没有使⽤表锁,表(堆)中将包含许多空页。对于索引,删除操作会留下⼀些空页,尽管这些页会通过后台清除进程迅速释放。
与 DELETE 语句相同,使⽤ TRUNCATE TABLE 清空的表的定义与其索引和其他关联对象⼀起保留在数据库中。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。