指标一,表的状态:
指标二,表的实际行数: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 清理数据并释放磁盘空间内容请搜索一聚教程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持一聚教程网!