请简述DELETE与TRUNCATE的区别。相关知识点: 试题来源: 解析 ① 实现方式不同:TRUNCATE本质上先执行删除(DROP)数据表的操作,然后再根据有效的表结构文件(.frm)重新创建数据表的方式来实现数据清空操作。而DELETE语句则是逐条的删除数据表中保存的记录。② 执行效率不同:在针对大型数据表(如千万级的数据记录)时,...
1. 1、DELETE语句是DML语句,TRUNCATE语句通常被认为是DDL语句。 2、DELETE语句后面可以跟WHERE子句,而TRUNCATE语句只能用于删除表中的所有记录 3、使用TRUNCATE语句删除表中的数据后,再次添加记录时,自动增加字段的默认初始值重新由1开始,而使用DELETE语句删除表中所有记录后,再次向表中添加记录时,自动增加字段的值为删...
参考答案: 1、TRUNCATE在各种表上无论是大的还是小的都非常快。如果有ROLLBACK命令DELETE将被撤销,而TRUNCATE则不会被撤销。 2、TRUNCATE是一个DDL语言,向其他所有的DDL语言一样,他将被隐式提交,不记录回滚信息,不能对TRUNCATE使用ROLLBACK命令。 3、TRUNCATE不能触发任何DELETE触发器。 复制 纠错...
如果使用的是delete,那么记录的排序值不会被清除,它是一次累加上去的。下面给出一个小例子,可以参考一下 ---=== --Author:oliver QIN --DATE:2015-12-21 --DESC:INDETITY(1,1)使用delete跟truncate后排序是怎么变化的 ---===建表 if exists(select * from sysobjects where ID=OBJECT_ID(N'TB') AND...
② 执行效率不同:在针对大型数据表(如千万级的数据记录)时,TRUNCATE清空数据的实现方式,决定了它比DELETE语句删除数据的方式执行效率更高。 ③对AUTO_INCREMENT的字段影响不同:TRUNCATE清空数据后,再次向表中添加数据,自动增长字段会从默认的初始值重新开始,而使用DELETE语句删除表中的记录时,则不影响自动增长值。 ④...
简答题 请简述DELETE与TRUNCATE的区别。【参考答案】 ①实现方式不同:TRUNCATE本质上先执行删除(DROP)数据表的操作,然后再根据有效的表结构文件(.frm)重新创建数据表的方式来实现数据清空操作。而DELETE语句则是逐条的删除数据表中保存的记录。②执行效率不同:在针对大型数据表(如千万级的数据记录)时,TRUNCATE清空...