MySQL 有一个 OPTIMIZE TABLE 命令,可用于回收 MySQL 安装中未使用的空间。有没有办法(内置命令或通用存储过程)为数据库和/或服务器安装中的每个表运行此优化,还是您必须自己编写脚本?
原文由 Alan Storm 发布,翻译遵循 CC BY-SA 4.0 许可协议
MySQL 有一个 OPTIMIZE TABLE 命令,可用于回收 MySQL 安装中未使用的空间。有没有办法(内置命令或通用存储过程)为数据库和/或服务器安装中的每个表运行此优化,还是您必须自己编写脚本?
原文由 Alan Storm 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果本地版主允许这样做,我想推广我很久以前写的一个 PHP 库 - https://github.com/Simbiat/optimize-tables
该库的重点是允许根据表的参数和统计信息“智能”执行 OPTIMIZE、ANALYZE、CHECK 和 REPAIR 命令。我已经在 CRON 中为 https://simbiat.ru 运行它超过 2 年了,它一直一帆风顺(当然,除了一些调整和小修复)。
为什么要使用这样的东西?好吧,README 提供了更多详细信息,但简而言之,只有当您真正从中受益时,它才能帮助运行相关操作。至少,它可以节省您的资源。
原文由 Simbiat 发布,翻译遵循 CC BY-SA 4.0 许可协议
5 回答3.2k 阅读✓ 已解决
3 回答3.6k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
1 回答2.4k 阅读✓ 已解决
1 回答2.3k 阅读✓ 已解决
5 回答1.4k 阅读
3 回答1.2k 阅读✓ 已解决
您可以使用
mysqlcheck
在命令行中执行此操作。一个数据库:
所有数据库: