TRUNCATE和DELETE有以下幾點區別
1、TRUNCATE在各種表上無論是大的還是小的都非常快。如果有ROLLBACK命令DELETE將被撤銷,而TRUNCATE則不會被撤銷。
2、TRUNCATE是壹個DDL語言,向其他所有的DDL語言壹樣,他將被隱式提交,不能對TRUNCATE使用ROLLBACK命令。
3、TRUNCATE將重新設置高水平線和所有的索引。在對整個表和索引進行完全瀏覽時,經過TRUNCATE操作後的表比DELETE操作後的表要快得多。
4、TRUNCATE不能觸發任何DELETE觸發器。
5、不能授予任何人清空他人的表的權限。
6、當表被清空後表和表的索引講重新設置成初始大小,而delete則不能。
7、不能清空父表。
擴展資料
數據庫模式定義語言並非程序設計語言,DDL數據庫模式定義語言是SQL語言(結構化查詢語言)的組成部分。SQL語言包括四種主要程序設計語言類別的語句:數據定義語言(DDL),數據操作語言(DML),數據控制語言(DCL)和事務控制語言(TCL)。
DDL描述的模式,必須由計算機軟件進行編譯,轉換為便於計算機存儲、查詢和操縱的格式,完成這個轉換工作的程序稱為模式編譯器。
模式編譯器處理模式定義主要產生兩種類型的數據:數據字典以及數據類型和結構定義。
數據字典和數據庫內部結構信息是創建該模式所對應的數據庫的依據,根據這些信息創建每個數據庫對應的邏輯結構;對數據庫數據的訪問、查詢也根據模式信息決定數據存取的方式和類型,以及數據之間的關系和對數據的完整性約束。
數據字典是模式的內部信息表示,數據字典的存儲方式對不同的DBMS各不相同。
數據類型和結構的定義,是指當應用程序與數據庫連接操作時,應用程序需要了解產生和提取的數據類型和結構。是為各種宿主語言提供的用戶工作區的數據類型和結構定義,使用戶工作區和數據庫的邏輯結構相壹致,減少數據的轉換過程,這種數據類型和結構的定義通常用壹個頭文件來實現。
數據庫模式的定義通常有兩種方式: 交互方式定義模式和通過數據描述語言DDL 描述文本定義模式。
參考資料:
百度百科?truncate計算機函數