Truncate /Delete Table
1、含义上都是删除表全部记录
2、Truncate 是属于数据定义语言,系统不会写每一笔记录操作事务日志,无法恢复记录数据的操作
Truncate Table 通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放
Delete 数据操纵语言 会存储操作每一笔记录的事务日志,可以恢复记录数据
3、若表结构中有自增的字段
Trancate 会从新开始自增计数(例如 从0 开始自增)
Delete 不会从新开始计数,会从删除后的记录自增接下去记录(例如:ID 自增(自增1)删除表的全部记录100条,从 100开始自增)
4、Truncate 操作会比Delete快
Trancate使用系统和事务日志资源少
总结:
根据需求使用哪个SQL删除,若只是要删除记录不需要恢复,建议使用Truncate