MYSQL回收碎片空间

一般大批量删除或者更新后会产生碎片,需要回收

以MYSQL5.7为例

查看碎片大小 :

SELECT TABLE_NAME, ROUND((DATA_LENGTH+INDEX_LENGTH)/1024/1024,2) AS total_mb,ROUND(DATA_FREE/1024/1024,2) AS free_mb FROM information_schema.TABLES WHERE TABLE_NAME='m_log';

回收碎片并更新统计信息:

ALTER TABLE m_log ENGINE=InnoDB, ALGORITHM=INPLACE, LOCK=NONE;

ANALYZE TABLE m_log;

相关推荐
深念Y11 小时前
Opencode Event 表写入优化方案
数据库·人工智能·ai·node.js·bug·优化·opencode
竹枝溪11 小时前
MySQL进阶:约束、多表设计、多表查询与事务
java·数据库·mysql·事务·子查询·acid·多表查询
技术长镜头11 小时前
别再只会“加索引”:从磁盘页到 B+Tree,彻底理解 MySQL 索引的设计与运行
后端·mysql
weixin_4316004412 小时前
NestJS 入门(9):连上数据库,SQL 写在哪?
数据库·后端·sql·学习·nest.js
math_hongfan12 小时前
一对多的数据库姻缘:ArkTS 为鸿蒙订单设计外键与明细表
数据库·华为·harmonyos
城管不管12 小时前
MySQL 慢查询完整排查
java·服务器·jvm·数据库·mysql·spring·面试
XLYcmy12 小时前
PDF论文处理器 - 功能总结
数据库·python·pdf·csv·pymupdf·dify·文本分割
树码小子12 小时前
MySQL 的事务隔离级别(重点面试题)
数据库·mysql
01_ice12 小时前
MySQL表的约束
数据库·sql·mysql
北漂燕郊杨哥13 小时前
Win11 环境下 phpStudy 安装 Redis 最新版,并为 PHP 8.5.9(NTS)配置 redis 扩展
数据库·redis·php