《MYSQL教程mysql delete和truncate區別》要點:
本文介紹了MYSQL教程mysql delete和truncate區別,希望對您有用。如果有疑問,可以聯系我們。
MYSQL入門1、delete : 刪除"表格記錄"會把操作記錄在日志中,可以通過事務回滾來恢復刪除的數據.
MYSQL入門 ? truncate :刪除"表格記錄"不可恢復 .
MYSQL入門?
MYSQL入門2、delete :每次刪除一行,并在事務日志中為所刪除的每行記錄一項.
MYSQL入門??? truncate? :過釋放存儲表數據所用的數據頁來刪除數據,并且只在事務日志中記錄頁的釋放.
MYSQL入門 所以truncate 比delete速度快
MYSQL入門3、 delete:刪除內容,不刪除定義,釋放空間.
truncate?:刪除內容,不刪除定義,不釋放空間.
MYSQL入門?
MYSQL入門4、delete:語句不影響表所占用的extent, 高水線(high w2atermark)保持原位置不動??
??? truncate: 語句缺省情況下將空間釋放到 minextents個 extent,除非使用reuse? storage;?? truncate會將高水線復位(回到最開始).
MYSQL入門?
MYSQL入門想刪除部分數據行用delete,注意帶上where子句. 回滾段要足夠大.?
想刪除表,當然用drop?
想保留表而將所有數據刪除. 如果和事務無關,用truncate即可. 如果和事務有關,或者想觸發trigger,還是用delete.