MySQL InnoDB 存储引擎清理
要清理 MySQL InnoDB 存储引擎并从已删除的表中删除数据,请按照以下步骤操作:
理解 InnoDB架构
InnoDB 在 ibdata1 文件中存储了六种类型的信息:
你可以运行 OPTIMIZE TABLE 吗?
使用 OPTIMIZE TABLE存储在 ibdata1 中的 InnoDB 表有两个效果:
你可以运行 OPTIMIZE TABLE 吗innodb_file_per_table?
启用此选项后,OPTIMIZE TABLE 会为每个 InnoDB 表创建单独的 .ibd 文件。虽然这种隔离将数据和索引与 ibdata1 分开,但它不会从 ibdata1 中删除数据字典条目。
InnoDB 基础设施清理
要缩小 ibdata1 并删除不必要的数据:
使用这些修改 my.cnf(或 my.ini)设置:
经过这个过程, ibdata1 将仅包含表元数据,各个 InnoDB 表将存储在扩展名为 .frm 和 .ibd 的单独文件中。然后可以使用 OPTIMIZE TABLE 来缩小表的 .ibd 文件。
以上是如何清理和缩小 MySQL InnoDB 存储引擎?的详细内容。更多信息请关注PHP中文网其他相关文章!