MySQL数据库中Drop/Truncate/Delete的区别

Delete:删除数据库记录

①.数据操作语言(DML);

②.在事务控制里,DML语句要么Commit,要么Rollback;

③.删除大量记录速度慢,只删除数据而不回收/释放高水位线(High Water Mark);
//高水位线用于标识已使用过的数据块与未使用的数据块二者间交界,扫描表数据的时候,高水位线以下的所有数据块都必须被扫描

④.可以带条件删除;

注意:如果只是删除少量数据记录,可以使用这种方式!

Truncate:删除所有的数据记录

①.数据定义语言(DDL);

②.不在事务控制里,DDL语句执行之前会提交前面所有未提交的事务;

③.清理大量数据时速度快,回收/释放高水位线(High Water Mark);
//清理大量数据之前,可以先将不需要删除那一小部分数据导出来,然后再清除数据表所有的数据库记录,然后再把之前导出的数据重新导入到数据表中

④.不能带条件删除;

注意:如果要删除大量数据记录,可以使用这种方式!

Drop:删除数据库对象

①.数据定义语言(DDL);

②.数据库对象包括库,表,用户等;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值