mysql碎片化释放
作者:互联网
清空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