博客 / WordPress/ WordPress 数据库表 wp_options 异常增大的原因与优化指南

WordPress 数据库表 wp_options 异常增大的原因与优化指南

WordPress 数据库表 wp_options 异常增大的原因与优化指南

WordPress 数据库表 wp_options 异常增大的原因与解决方案

在 WordPress 使用过程中,您可能会发现 wp_options 数据库表异常增大,甚至可能占据整个数据库体积的相当一部分。这通常会影响网站性能和备份效率。本文将解释一个常见原因并提供解决方案。

问题根源:控制板订阅缓存

在较旧版本的 WordPress(如 3.8)中,一个已知问题是“控制板订阅缓存”(Dashboard Feed Cache)会持续写入 wp_options 表。具体表现为:每当您访问 WordPress 后台的“控制面板”(Dashboard)首页时,系统可能会自动获取并缓存来自 WordPress 新闻、插件更新等外部源的数据,这些缓存数据会作为瞬态(Transients)存储在 wp_options 表中。

如果您安装了数据库清理类插件(如 WP-Optimize、WP-Sweep 或 Advanced Database Cleaner),可能会观察到每次访问控制面板后,wp_options 表会增长数百 KB。长期积累会导致该表体积庞大。

解决方案:禁用控制板订阅模块

最直接的解决方法是禁用这些会生成缓存的订阅模块。操作步骤如下:

  1. 登录 WordPress 后台。
  2. 进入「控制面板」→「首页」。
  3. 在页面右上角找到「显示选项」(Screen Options)按钮并点击。
  4. 在弹出的选项中,您会看到如“WordPress 活动与新闻”、“其他 WordPress 新闻”等订阅模块。
  5. 取消勾选您不希望显示的订阅模块,特别是那些会从外部获取数据的模块。
  6. 点击页面空白处或刷新页面,设置即会生效。

禁用后,WordPress 将不再从外部获取并缓存这些订阅源的数据,从而阻止 wp_options 表因此原因继续增长。

其他优化建议

除了上述方法,您还可以采取以下措施来管理和优化 wp_options 表:

  • 定期清理瞬态数据:使用可靠的数据库清理插件(如上述提到的)定期扫描并删除过期的瞬态数据(_transient_*_site_transient_*)。
  • 审查已安装的插件和主题:某些插件或主题可能会在 wp_options 表中存储大量数据。停用并删除不用的插件和主题。
  • 更新 WordPress 核心:此问题在后续的 WordPress 版本中已得到改进。请确保您的 WordPress、插件和主题均为最新版本。
  • 手动数据库优化:在操作前务必备份数据库。您可以通过 phpMyAdmin 等工具对 wp_options 表执行优化(OPTIMIZE TABLE)操作,回收未使用的空间。

重要提示:在对数据库进行任何操作(尤其是删除数据)之前,请务必创建完整的数据库备份。误操作可能导致网站功能异常。

通过以上步骤,您可以有效控制 wp_options 表的体积,提升网站的整体运行效率。

  1. 还是一样的,我已经把选项全部去掉,还在function添加了移除代码,还是发现会生成控制面板缓存。每次用WP Clean Up删除不久就多十几条缓存了。

    1. 嗯 一样的 现在新版的wordpress就是这样的

回复 老牛 取消回复

您的邮箱不会公开。必填项已用 * 标注。