温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

sql中delete和truncate之间有什么区别

发布时间:2021-01-15 09:52:13 来源:亿速云 阅读:175 作者:小新 栏目:数据库

这篇文章给大家分享的是有关sql中delete和truncate之间有什么区别的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

在SQL中delete命令和truncate命令都可用于删除数据(记录),那么它们之间有什么不同之处?

delete和truncate命令之间的差别

1、命令类型

delete是数据操作语言(DML)命令;而truncate是数据定义语言(DDL)命令。

2、功能

delete命令根据指定的SQL语句从表中删除单个,多个或所有记录;而truncate命令从数据库中删除所有记录和表结构。

3、Where子句

delete命令支持WHERE子句,可以使用带有DELETE的where子句来过滤和删除特定记录;而,truncate命令不支持WHERE子句。

4、锁定

delete命令采用行级锁定,表中的每一行都被锁定以进行删除;truncate命令采用表级锁定,锁定了整个表以删除所有记录。

5、索引视图

delete命令可以与索引视图一起使用;而,truncate命令不能与索引视图一起使用。

6、执行速度

由于delete命令维护日志,因此速度很慢。但是,由于truncate命令在事务日志中维护最少的日志记录,因此执行速度更快。

7、表结构

delete命令不会影响表结构,而truncate命令会从数据库中删除表结构。

8、事务空间

delete命令比truncate命令使用更多的事务空间。

感谢各位的阅读!关于“sql中delete和truncate之间有什么区别”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI