dropdelete与truncate的区别 和 delete是否记录日志

Posted bcbobo21cn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了dropdelete与truncate的区别 和 delete是否记录日志相关的知识,希望对你有一定的参考价值。

drop直接删掉表有关的一切(数据/结构/约束…),不会记录日志,为DDL(Data Definition Language,数据库定义语言)操作。
truncate 删除表中所有数据(再插入时自增长id又从1开始),该操作也不会记录日志所以比较快,为DDL操作。只能删table。
DELETE语句执行删除的过程是每次从表中删除一行,需要记录日志,比较慢,可以加where 语句,为DML(Data Manipulation Language, 数据操纵语言)。
速度上drop > truncate > delete

这是对mysql数据库的描述;速度来说在sqlserver应该也是一样;

下面来在sqlserver操作一下;看一下delete是否记录日志;

下面表有一万条记录;删除5000行;

然后看一下日志里面有否记录此次删除行为;

日志比较多,使用 "delete" 过滤一下;

查看日志是从下面菜单;

没有关于delete的日志;

根据此次操作的情况,sqlserver并未对delete行为记录日志;

以上是关于dropdelete与truncate的区别 和 delete是否记录日志的主要内容,如果未能解决你的问题,请参考以下文章

oracle中dropdelete和truncate的区别

MySQL删除表操作(dropdelete和truncate的区别)

MySQL DELETE语句和TRUNCATE TABLE语句的区别

truncate与drop的区别是啥?

[转]SQL truncate delete与drop区别

SQL truncate delete与drop区别[z]