使用delete删除数据 , 是我们常用的用法 , 但是这样并没有真正的把数据删除掉 , mysql只是标志了一下删除

测试如下, audit_log表删除之前的数据文件的大小

[root@dev-3-144 shihan1]# ll /data2/mysql3960/sinanet/|grep audit_log 
-rw-rw---- 1 mysql mysql     21563 Nov 19 14:13 audit_log.frm
-rw-rw---- 1 mysql mysql    163840 Nov 19 14:14 audit_log.ibd

使用delete删除部分数据之后

delete from audit_log where ent_id=23684;

大小没有变化

使用整理数据碎片 optimize table audit_log;

执行之后的大小

[root@dev-3-144 shihan1]# ll /data2/mysql3960/sinanet/|grep audit_log 
-rw-rw---- 1 mysql mysql     21563 Nov 19 16:18 audit_log.frm
-rw-rw---- 1 mysql mysql    147456 Nov 19 16:18 audit_log.ibd

 

相关文章:

  • 2022-03-15
  • 2021-10-25
  • 2021-11-22
  • 2021-10-18
  • 2021-11-29
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-12-18
  • 2022-12-23
  • 2021-08-24
  • 2022-12-23
  • 2021-10-15
  • 2022-12-23
相关资源
相似解决方案