drop、delete与truncate的区别 和 delete是否记录日志
生活随笔
收集整理的這篇文章主要介紹了
drop、delete与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行為記錄日志;
總結
以上是生活随笔為你收集整理的drop、delete与truncate的区别 和 delete是否记录日志的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 把自己的文件做成ISO镜像文件
- 下一篇: TSQL批处理插入一万条记录-随机生成某