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

删除数据命令

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

删除前表空间信息:

mysql中释放表空间的几种方式_第1张图片

删除后未处理空间

查看实际行数

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

你可能感兴趣的:(mysql,数据库)