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是否记录日志的主要内容,如果未能解决你的问题,请参考以下文章
MySQL删除表操作(dropdelete和truncate的区别)