mysql中delete和truncate的区别

时间:2022-09-16 11:46:39
首先,这两种都是删除表中的记录.

不同的是:
1. delete 是逐行标记删除. TRUNCATE 是将整张表包括表结构都移除,然后将表重新创建.
2. delete DML语句。 TRUNCATE DDL语句。
3. delete 删除的记录可以被恢复,TRUNCATE 不能回复。
4. delete 不释放空间,TRUNCATE 释放空间.
5. TRUNCATE  会提交事务.