使用Truncate Table 會移除資料表中的所有資料列,但會保留資料表結構及其欄位、條件約束、索引等。
如果該Table包含識別欄位,這個識別編號會重設為原本定義的初始值。如果未定義任何初始值,就會使用預設值 1。
Trance Table 與Delete 比較的優點為:
1.使用的交易記錄空間較少:Truncate Table會取消配置用來儲存資料表資料的資料頁,以移除資料,所以交易記錄只會記錄頁面的取消配置。
2.通常會使用較少鎖定:Delete會鎖定每一筆資料,以便執行刪除,但Truncate Table只鎖定資料表和頁面,不會鎖定每個資料列。
3.速度較快:綜合以上兩點,
Truncate Table會比Delete快!
語法範例:
TRUNCATE TABLE MyTestTable
DELETE FROM MyTestTable