MySQL清理数据并释放磁盘空间的实现示例

作者:袖梨 2025-07-07
本文主要介绍了MySQL如何清理数据并释放磁盘空间,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

一、清理前

指标一,表的状态:

指标二,表的实际行数:76986

指标三,要清理的行数:76813

指标四,表查询的执行计划:

二、清理数据

下面是执行 DELETE FROM courier_consume_fail_message WHERE created_at < '2023-04-19 00:00:00'; 后的统计。

指标一,表的状态:

指标二,表的实际行数:173

指标三,要清理的行数:0

指标四,表查询的执行计划:

通过指标四可以看到,清理表记录后,查询扫描的行数依然没变:8651048。

三、清理碎片

下面是执行 OPTIMIZE TABLE courier_consume_fail_message; 后的统计。

指标一,表的状态:

指标四,表查询的执行计划:

通过指标四可以看到,清理表记录后,查询扫描的行数变成了 100。

小结

可以看到,该表的数据行数和数据长度都被清理了,查询语句扫描的行数也减少了。

为了提升 SELECT * FROM courier_consume_fail_message WHERE service='courier-transfer-mq'; 语句的查询效率,还是应当建立索引。

 alter` `table` `ec_courier.courier_consume_fail_message ``add` `index` `idx_service(service);

到此这篇关于MySQL清理数据并释放磁盘空间的实现示例的文章就介绍到这了,更多相关MySQL 清理数据并释放磁盘空间内容请搜索一聚教程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持一聚教程网!

相关文章

精彩推荐