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