开发者社区> 问答> 正文

【RDS】如何使用“optimize table”命令释放MySQL实例的表空间?

已解决

如何使用“optimize table”命令释放MySQL实例的表空间?

展开
收起
云上猫猫 2022-01-13 17:16:48 1463 0
1 条回答
写回答
取消 提交回答
  • 采纳回答

    MySQL可以通过optimize table语句释放表空间,重组表数据和索引的物理页,减少表所占空间和优化读写性能。但是执行optimize table语句过程时,数据会复制到新建的临时表中,会增加实例的磁盘使用率。当实例剩余磁盘不足以容纳临时表时,建议先扩容磁盘空间,如何扩容请参见变更配置

    通过命令行操作

    1、连接MySQL数据库,详情请参见连接MySQL数据库

    2、执行以下SQL语句,释放表空间。

    optimize table [$Database1].[Table1],[$Database2].[Table2]

    说明:

    a、[$Database1]与[$Database2]为数据库名,[Table1]与[Table2]为表名。

    b、在innodb引擎中执行optimize table语句时,会出现以下提示信息,该信息是正常执行返回的结果,您可忽略信息。确认返回“ok”即可。详情请参见OPTIMIZE TABLE Statement

    Table does not support optimize, doing recreate + analyze instead

    通过DMS操作

    1、登录MySQL数据库,详情请参见通过DMS登录MySQL数据库。

    2、在左侧选择目标实例的实例ID,然后双击目标库,右键单击任意表名,然后选择批量操作表。

    3、勾选需要释放空间的表名,然后依次选择表维护>优化表。 image (3).png

    4、在弹出的对话框中确认变更信息正确,然后单击确认即可。

    2022-01-13 17:18:35
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像