mysql数据库,delete记录不释放存储空间

mysql数据库中,当我们使用delete from table where 这样的语句删除数据库记录时,记录是能删除掉,用select也查不出记录,但是表的存储空间占用并没有减少,这是因为使用这样的语句执行的是逻辑删除,数据库只是做了删除标记,并没有实际的从物理磁盘上将数据清除掉。

所以,要想彻底的删除,就需要使用truncate table或者delete 不加where条件,这样就可以把所有的数据物理的删除掉。但实际往往不能执行这样的语句的,把表所有的数据清空,那怎么样才能实现只将部分数据物理删除呢?

1.执行delete from table where这样的语句

2.进行表空间碎片整理,OPTIMIZE TABLE,使用这个语句时,表会锁定,所以使用之前一直要注意,建议每周或者每月执行一次该语句。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。