MySQL中快速删除表中的数据
delete from user; //删除user表中的数据,但是这种删除数据的方式有点慢。
delete删除数据的原理:(delete属于DML语句)
表中的数据被删除了,但是这个数据在硬盘上的真实存储空间不会被释放!!!
这种删除表的优点是:支持回滚,后悔了可以恢复数据,可以删除单条数据
缺点:删除效率比较低
truncate table user; //删除user表中的数据,快速。
truncate删除数据的原理:(DDL)
效率比较高,表被一次截断,物理删除
优点:快速
缺点:不支持回滚,只能删除表中所有数据,不能删单条数据
如果说公司项目里面有一张大表,数据非常多,几亿条记录:
删除的时候,使用delete,也许执行一个小时才能删除完,效率极其低;
可以选择使用truncate删除表中的数据。只需要不到1s的时间就能删除结束,效率较高。
但是使用truncate之前,必须仔细询问客户是否真的需要删除,并警告删除之后不可恢复!!!
删除表操作:
drop table 表名;// 删除表,不是删除表中的数据
truncate和delete是删除表中的数据,表还在。