Truncate /Delete Table
1、含義上都是刪除表全部記錄
2、Truncate 是屬于數據定義語言,系統不會寫每一筆記錄操作事務日志,無法恢復記錄數據的操作
Truncate Table 通過釋放存儲表數據所用的數據頁來刪除數據,并且只在事務日志中記錄頁的釋放
Delete 數據操縱語言 會存儲操作每一筆記錄的事務日志,可以恢復記錄數據
3、若表結構中有自增的字段
Trancate 會從新開始自增計數(例如 從0 開始自增)
Delete 不會從新開始計數,會從刪除后的記錄自增接下去記錄(例如:ID 自增(自增1)刪除表的全部記錄100條,從 100開始自增)
4、Truncate 操作會比Delete快
Trancate使用系統和事務日志資源少
總結:
根據需求使用哪個SQL刪除,若只是要刪除記錄不需要恢復,建議使用Truncate
新聞熱點
疑難解答