科技界 新科技新应用
首页 /  数码世界 /  内容

delete和truncate删除数据的区别

数码世界 2024-10-27 01:01:03 红尘笑笑生

truncate和delete的区别 

truncate和delete的主要区别如下:

1. 内存空间:truncate删除数据后重新写数据会从1开始,而delete删除数据后只会从删除前的最后一行续写。因此,truncate在内存空间上更省空间。

2. 处理速度:truncate直接从1开始,即全部清空开始,而delete需要先得到当前行数,从而进行续写。因此,truncate删除速度比delete快。

3. 语句类型:delete属于DML语句,而truncate属于DDL语句。这导致了它们在事务中的不同现象:delete在事务中,因为属于DML语句,所以可以进行回滚和提交操作(由操作者),而truncate在事务中,执行后会自动commit,所以不可以回滚。

4. 语法:delete可以在后续加上where进行针对行的删除,而truncate后面只能加上表名,直接删除表,无法where。

需要注意,truncate和drop不能够激活触发器,因为该操作不记录各行删除。

版权申明:文章由用户发布,不代表本网站立场,如果侵权请联系我们删除。