mysql中释放表空间的几种方式

发布时间:2024年01月02日

删除数据命令

DELETE FROM `sys_audit_log`  WHERE `create_time` < DATE_SUB(DATE(NOW()),INTERVAL 1 MONTH)

删除前表空间信息:

删除后未处理空间

查看实际行数

SELECT COUNT(*) FROM sys_audit_log;

返回结果:4673
执行分析后表统计:

 ANALYZE TABLE sys_audit_log;

释放表空间方案一

ALTER TABLE  sys_audit_log ENGINE INNODB;

使用ALTER TABLE命令可以将表的存储引擎更改为InnoDB,InnoDB存储引擎支持行级锁和事务处理,因此在处理大表的时候能提高效率。同时,InnoDB存储引擎会自动释放未使用的表空间,因此在InnoDB的表中,无需手动释放表空间。

执行命令后空间大小为: 17MB

文章来源:https://blog.csdn.net/sunon_/article/details/135343397
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。