清空表的兩種方式
MySQL有兩種清空表的方式。
清空(truncate)
delete from 表名;
删除(delete)
truncate table 表名;
兩種方式的差別
删除方式
-
是整體删除,不掃描表,相當于重新建立了表,隻保留了表的結構,然後删除掉原有表,删除速度較快truncate
-
是逐條删除,會掃描全表,會根據條件判斷,删除速度較慢delete
自增字段
-
後自增字段重新從truncate
開始1
-
保持自增最大值delete
日志
-
操作不寫入日志,是以清空的資料無法恢複truncate
-
操作寫入日志,删除的資料可以恢複delete
觸發器
-
不激活觸發器truncate
-
激活觸發器delete