MySQL中快速删除表中的数据

delete from user; //删除user表中的数据,但是这种删除数据的方式有点慢。

delete删除数据的原理:(delete属于DML语句)

表中的数据被删除了,但是这个数据在硬盘上的真实存储空间不会被释放!!!

这种删除表的优点是:支持回滚,后悔了可以恢复数据,可以删除单条数据

缺点:删除效率比较低

truncate table user; //删除user表中的数据,快速。

truncate删除数据的原理:(DDL)

效率比较高,表被一次截断,物理删除

优点:快速

缺点:不支持回滚,只能删除表中所有数据,不能删单条数据

如果说公司项目里面有一张大表,数据非常多,几亿条记录:

删除的时候,使用delete,也许执行一个小时才能删除完,效率极其低;

可以选择使用truncate删除表中的数据。只需要不到1s的时间就能删除结束,效率较高。

但是使用truncate之前,必须仔细询问客户是否真的需要删除,并警告删除之后不可恢复!!!

删除表操作:

drop table 表名;// 删除表,不是删除表中的数据

truncate和delete是删除表中的数据,表还在。

经验分享 程序员 微信小程序 职场和发展