ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

mysql碎片化释放

2022-04-11 14:33:06  阅读:233  来源: 互联网

标签:释放 name 删除 碎片 mysql table schema


清空MySQL测试库慢查询slow.log

数据库数据碎片化处理

参考文档: https://www.cnblogs.com/wajika/p/6484125.html https://www.cnblogs.com/xdot/p/5087865.html 问题 使用delete删除的时候,mysql并没有把数据文件删除,而是将数据文件的标识位删除,没有整理文件,因此不会彻底释放空间。被删除的数据将会被保存在一个链接清单中,当有新数据写入的时候,mysql会利用这些已删除的空间再写入。即删除操作会带来一些数据碎片,正是这些碎片在占用硬盘空间。
解决办法
官方推荐使用 OPTIMIZE TABLE命令来优化表,该命令会重新利用未使用的空间,并整理数据文件的碎片。 Mysql可以使用如下命令查看
show table status [like table_name]

select table_schema, table_name, data_free, engine 
from information_schema.tables where table_schema not in ('information_schema', 'mysql') and data_free > 0
  如果data_free为0 ,不需要处理,否则运行 optimize table [table_name]   注意:在OPTIMIZE TABLE运行过程中,MySQL会锁定表,尽量在不用测试数据库的时候偶操作   锁表处理 https://blog.csdn.net/zhaofuqiangmycomm/article/details/82150815   对照正在处理的(processlist)sleep任务和事务表来判断是否锁定了

标签:释放,name,删除,碎片,mysql,table,schema
来源: https://www.cnblogs.com/sxsheng/p/16129871.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有