1. 程式人生 > >199-mysql的清空與刪除

199-mysql的清空與刪除




mysql的清空與刪除



在mysql中,有兩種方式對錶進行清空和刪除

1.truncate
2.delete

語法是這樣的
1.truncate table tb_test;
2.delete * from tb_test;

那麼這兩種方式有什麼區別呢

一.
truncate是整體刪除,速度較快
delete是逐條刪除,速度比較慢

二.
truncate不寫伺服器log
delete寫伺服器log
所以truncate效率高

三.
truncate不啟用trigger觸發器
但是會重置identity(標識列,自增欄位)
也就是說id會從1重新開始記錄
而用delete刪除,
identity依舊是接著被刪除的最近一條的記錄

四.
truncate不能進行條件刪除
delete可以使用where進行條件刪除