小议truncate、drop、delete的区别
1、从分类角度
truncate、drop属于DDL(Data Definition Language 数据定义语言)
delete属于DML(Data Manipulation Language 数据操作语言)
2、从表结构角度
truncate、delete只删除数据,不删除表结构
drop删除数据和表结构
3、从安全角度
truncate、drop不支持回滚
delete支持
4、从速率角度(如图)
drop table Employees和truncate table Employees查询开销为0%
delete from Employees查询开销为95%
delete from Employees where dep_id = 3查询开销为5%
从执行计划查询开销来看,drop 等于truncate,delete from tab where……速度大于delete from tab
以上属于个人观点,如有不对望拍砖。
本文探讨了SQL中的truncate、drop与delete三种操作的区别。从数据定义语言和数据操作语言的角度出发,详细解析了它们在表结构处理、安全性及执行效率等方面的差异。
460

被折叠的 条评论
为什么被折叠?



