TRUNCATE TABLE (Transact-SQL)

news/2024/7/8 3:38:02

删除表中的所有行,而不记录单个行删除操作。 TRUNCATE TABLE 与没有 WHERE 子句的 DELETE 语句类似;但是,TRUNCATE TABLE 速度更快,使用的系统资源和事务日志资源更少。

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

所用的事务日志空间较少。

DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一个项。 TRUNCATE TABLE 通过释放用于存储表数据的数据页来删除数据,并且在事务日志中只记录页释放。

使用的锁通常较少。

当使用行锁执行 DELETE 语句时,将锁定表中各行以便删除。 TRUNCATE TABLE 始终锁定表(包含架构 (SCH-M) 锁)和页,而不是锁定各行。

如无例外,在表中不会留有任何页。

执行 DELETE 语句后,表仍会包含空页。 例如,必须至少使用一个排他 (LCK_M_X) 表锁,才能释放堆中的空表。 如果执行删除操作时没有使用表锁,表(堆)中将包含许多空页。 对于索引,删除操作会留下一些空页,尽管这些页会通过后台清除进程迅速释放。

TRUNCATE TABLE 删除表中的所有行,但表结构及其列、约束、索引等保持不变。 若要删除表定义及其数据,请使用 DROP TABLE 语句。

所以,为了更及时地删除数据,释放空间,可以采用的方法有:

在表格上建立聚集索引

如果所有数据都不要了,使用TRUNCATE TABLE而不是DELETE

如果表格本身不要了,直接DROP TABLE

转载于:https://www.cnblogs.com/zisezhixin/p/4367173.html


http://www.niftyadmin.cn/n/917652.html

相关文章

Java Calendar getInstance

public static void main(String[] args) throws ParseException

JavaScript的检测属性、属性特性、枚举属性

JavaScript的检测属性、属性特性、枚举属性 /* 检测属性 检测属性可以通过三种方式 1.通过in运算符 2.通过hasOwnPerperty() 如果给定的属性是继承属性将返回false 3.通过propertyIsEnumerable():只有检测到的自有属性且这个属性的可枚举性为true时它才返回true,某…

Java Clone

Clone is for object copy , and not reference the same object. include deep copy and simple copy, lets take a look: 演示程序(demo show downlaod from ): public

端口状态

TCP协议规定需要三次握手才能成功连接、四次握手才能成功断开连接,在cmd命令行中输入netstat -an即可查看网络端口状态; 1.Listening: 处于监听状态; 2.Established: 建立连接表示正在通信; 3.Close_wait: 对方主动关闭连接或者网络异常导致连接中断,这时…

今天见到了袁鸣和当当网的俞渝

其中俞渝还提到了一个技术层次的问题: 比如在当当搜索 照相机 和 相机 得到的结果是不同的,解释是分词的问题。 其实,不应该仅仅是切词的问题,而涉及到更多,比如语义分析(近义,同义)、行为分析、关联性分…

孙鑫MFC学习笔记12:文件读写

1.指向常量的指针 2.指针常量 3.C语言对文件操作是在缓冲区,在缓冲区满或文件关闭时写入文件 读取相同 4.fflush刷新缓冲区,使缓冲区数据写入文件 5.fseek改变文件指针偏移量 6.stell获取文件指针当前位置 7.rewind重新放置文件指针到开始处 8.写入换行会…

华为大佬整理的Python400集视频,建议收藏

2021最新Python零基础到精通资料教材,干货分享,新基础Python教材,看这里,这里有你想要的所有资源哦,最强笔记,教你怎么入门提升!让你对自己更加有信心,重点是资料都是免费的&#xf…

清华教授带你七天学会IT编程,学习就靠这400集IT教程

今天小编精心整理了一套400集IT教程免费送给同学们,教程共有四套,其中包括(python丶人工智能丶java丶linux)这是一套2020年不可多得的学习教程哦! 获取方式: 加Q群:892113049,进群即…