mssql sqlserver truncate delete drop 关键字简介及区别


摘要:
下文主要讲述truncate delete drop三个关键字的用法及功能区别


目录:
truncate delete drop 关键字简介
truncate delete drop 区别



truncate delete drop 关键字简介

truncate:删除表中全部数据,但是不清除表结构,及索引 约束 默认值等设置
delete:可以删除全部数据或指定行数据,不清楚表结构 索引 约束 默认值等设置
drop:清除表数据,清除表结构 索引 约束 默认值等表相关设置都被彻底清除掉



truncate delete drop 区别

运行效率:drop 比 truncate 快 ,truncate 比 delete 快。
执行效果:drop 会清理掉 表数据及表结构
truncate 会清理掉 表数据,保留表结构,但是会回滚标识列初始值
delete 会清理掉 表数据,保留表结构,但是不会回滚标识列初始值
运行方式:drop 直接移除表文件 并释放表空间 索引空间
truncate 释放表空间 索引空间 至初始值大小
delete 不会释放空间, 每次执行都会在db日志中插入一条记录