mysql 在删除大量数据或者索引之后 表的数据内存和索引内存并没有明显的减少 为什么
“你知道我是干大事的男人吗?” “什么大事?” “你就是我的大事。”
在我们针对数据表进行了大量删除或者删除掉某个无用的索引之后,该表占的数据内存或者索引并没有明显的变换,这是因为删除操作后在数据文件中留下碎片所致。
那么要怎么样进行优化了,
关键字 OPTIMIZE TABLE your_table
举例子:
SELECT
TABLE_NAME,
concat( TRUNCATE ( data_length / 1024 / 1024, 2 ), ' MB' ) AS data_size,
concat( TRUNCATE ( index_length / 1024 / 1024, 2 ), ' MB' ) AS index_size
FROM
information_schema.TABLES
WHERE
TABLE_SCHEMA = 'fangdasheng'
AND TABLE_NAME = 'sku_sku';
结果:
然后删除掉一个多余的索引,
接着执行 optimize 命令
OPTIMIZE table `sku_sku`;
等待一段时间之后,在进行上面数据内存,索引内存查询
结果显示:
索引内存明显减少了,但在执行 optimize 命令的时候,要注意锁表问题
注意:在执行 碎片整理的时候
会出现 note 提示
先检查数据库是否是 MyISAM Innodb 引擎类型的数据,
没有减少可以查看这篇博客记录
https://www.cnblogs.com/fangdada/p/15423304.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了