MariaDB: 删除数据后回收磁盘空间

本文件是故障排除指南的一部分。您可以在这里查看完整指南:常见的 MariaDB 问题及其解决方案

👋 欢迎查阅 Stackhero 文档

Stackhero 提供即开即用的 MariaDB cloud 服务,专为生产环境设计。您将获得:

  • 无限制的连接数与数据传输。
  • 内置 phpMyAdmin 网页管理界面,便于数据库管理。
  • 一键 更新,维护更轻松。
  • 私有专属基础设施,确保高 性能与强大 安全性

几分钟内即可启动全托管的 MariaDB 实例。 Stackhero 负责部署、更新与安全,您可专注于应用开发。了解更多 MariaDB 云托管详情

从 MariaDB 表中删除数据不会自动释放其占用的磁盘空间。要回收此空间,您可以执行以下 SQL 命令:

OPTIMIZE TABLE <table>;

此命令通过创建临时表、传输数据并替换原始表来重建表。在此过程中,表将被锁定且不可用。锁定的持续时间取决于表的大小。

为尽量减少对数据库性能的影响,建议在低活动期或维护窗口期间运行 OPTIMIZE TABLE 命令。