背景信息
本文描述的表空间碎片,指的是MySQL InnoDB引擎的表空间碎片;
产生原因
表空间碎片产生的常见原因:
(1)记录被Delete,且原空间无法复用;
(2)记录被Update(通常出现在变长字段中),原空间无法复用;
(3)记录插入导致页分裂,页的填充率降低;
影响
如果表空间碎片较大,可能带来的负面影响:
(1)浪费磁盘空间;
(2)可能导致查询扫描的IO成本提升,效率降低;
如果表空间较小或者碎片率较小,用户无需关注,也不建议执行回收空间碎片操作。
回收表空间碎片的方法
回收碎片的常见方法是通过 optimize table 来重组文件,操作过程会导致该表上的写操作无法执行,实例负载增大,请用户谨慎操作,如果确定需要回收,建议放在业务低峰期进行。
Alter Table操作也可以达到回收空间碎片的效果,请用户谨慎操作,如果确定需要回收,建议放在业务低峰期进行。
文档内容是否对您有帮助?