共計(jì) 744 個(gè)字符,預(yù)計(jì)需要花費(fèi) 2 分鐘才能閱讀完成。
自動(dòng)寫代碼機(jī)器人,免費(fèi)開通
這篇文章給大家分享的是有關(guān) sql 中 delete 和 truncate 之間有什么區(qū)別的內(nèi)容。丸趣 TV 小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨丸趣 TV 小編過來看看吧。
在 SQL 中 delete 命令和 truncate 命令都可用于刪除數(shù)據(jù)(記錄),那么它們之間有什么不同之處?
delete 和 truncate 命令之間的差別
1、命令類型
delete 是數(shù)據(jù)操作語言(DML)命令;而 truncate 是數(shù)據(jù)定義語言(DDL)命令。
2、功能
delete 命令根據(jù)指定的 SQL 語句從表中刪除單個(gè),多個(gè)或所有記錄;而 truncate 命令從數(shù)據(jù)庫中刪除所有記錄和表結(jié)構(gòu)。
3、Where 子句
delete 命令支持 WHERE 子句,可以使用帶有 DELETE 的 where 子句來過濾和刪除特定記錄;而,truncate 命令不支持 WHERE 子句。
4、鎖定
delete 命令采用行級鎖定,表中的每一行都被鎖定以進(jìn)行刪除;truncate 命令采用表級鎖定,鎖定了整個(gè)表以刪除所有記錄。
5、索引視圖
delete 命令可以與索引視圖一起使用;而,truncate 命令不能與索引視圖一起使用。
6、執(zhí)行速度
由于 delete 命令維護(hù)日志,因此速度很慢。但是,由于 truncate 命令在事務(wù)日志中維護(hù)最少的日志記錄,因此執(zhí)行速度更快。
7、表結(jié)構(gòu)
delete 命令不會(huì)影響表結(jié)構(gòu),而 truncate 命令會(huì)從數(shù)據(jù)庫中刪除表結(jié)構(gòu)。
8、事務(wù)空間
delete 命令比 truncate 命令使用更多的事務(wù)空間。
感謝各位的閱讀!關(guān)于“sql 中 delete 和 truncate 之間有什么區(qū)別”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
向 AI 問一下細(xì)節(jié)