清理WordPress wp_options表自动加载数据优化教程

让我们深入探索WordPress数据库中的wp_options表,这个在优化网站性能时常常被忽视的关键领域。特别是在那些充斥着遗留插件和主题的大型旧网站上,wp_options表可能成为拖慢查询速度的罪魁祸首。以下是一些实用的检查、故障排除和清理wp_options表的技巧。

wp_options表是什么?

清理WordPress wp_options表自动加载数据优化教程

wp_options表是WordPress数据库的核心组成部分,它存储着各种关键信息,包括但不限于:
– 站点URL和主页URL
– 管理员电子邮件地址
– 默认文章类别
– 每页显示的文章数量
– 时间格式设置
– 插件、主题和小部件的配置选项
– 临时缓存数据

wp_options表的结构

清理WordPress wp_options表自动加载数据优化教程

该表包含以下主要字段,其中与性能最相关的字段是autoload:
– option_id:唯一标识每个选项的ID
– option_name:选项的名称
– option_value:选项的值
– autoload:控制是否自动加载该选项的标志字段

理解autoload字段

清理WordPress wp_options表自动加载数据优化教程

autoload字段是一个布尔值字段,它决定WordPress是否在每次页面加载时自动加载该选项。默认情况下,大多数选项的autoload属性设置为”yes”,这意味着它们会在每个页面上被加载。然而,并非所有插件都需要在每个页面上加载其数据,因此合理设置autoload为”no”可以显著提升性能。

wp_options表中自动加载数据的问题

清理WordPress wp_options表自动加载数据优化教程

当wp_options表中存在大量自动加载数据时,可能会导致网站运行缓慢。常见的问题包括:
– 插件将数据设置为自动加载,但实际上应该设置为”no”(例如,联系表单插件)
– 已从网站中删除的插件或主题的选项仍然保留在wp_options表中
– 插件和主题开发人员选择将数据存储在wp_options表中,而不是创建独立的数据库表

理想情况下,wp_options表中的自动加载数据大小应控制在300KB到1MB之间。一旦接近3-5MB或更多,就需要考虑优化或删除这些数据。超过10MB的数据应立即处理,尽管这并不总是意味着一定会导致问题,但这是一个重要的参考指标。

清理WordPress wp_options表自动加载数据优化教程

对wp_options表中的自动加载数据进行故障排除

如果你的WordPress网站运行缓慢,可能是由于旧插件遗留的查询或自动加载数据造成的。以下是如何检查和清理这些数据的步骤。

清理WordPress wp_options表自动加载数据优化教程

检查自动加载的数据大小

首先,登录到phpMyAdmin,选择你的WordPress数据库,然后点击SQL选项卡。输入以下查询并点击”Go”:

清理WordPress wp_options表自动加载数据优化教程

“`sql
SELECT SUM(LENGTH(option_value)) as autoload_size FROM wp_options WHERE autoload=’yes’;
“`

如果你的WordPress站点使用的是除wp_之外的前缀,请相应地调整查询。查询结果将以字节为单位返回自动加载数据的总大小。例如,249,025字节等于0.25MB,这是一个健康的尺寸。如果结果低于1MB,通常无需担心;但如果远超这个范围,就需要进一步优化。

清理WordPress wp_options表自动加载数据优化教程

高级自动加载数据MySQL查询

你可以使用更复杂的查询来获取更详细的信息,包括自动加载数据的大小、表中的条目数量以及按大小排序的前10个条目:

清理WordPress wp_options表自动加载数据优化教程

“`sql
SELECT ‘autoloaded data in KiB’ as name, ROUND(SUM(LENGTH(option_value))/ 1024) as value
FROM wp_options WHERE autoload=’yes’
UNION
SELECT ‘autoloaded data count’, count(*)
FROM wp_options WHERE autoload=’yes’
UNION
(SELECT option_name, length(option_value)
FROM wp_options WHERE autoload=’yes’
ORDER BY length(option_value) DESC LIMIT 10);
“`

使用New Relic进行故障排除

清理WordPress wp_options表自动加载数据优化教程

如果你有New Relic的访问权限,可以利用它来帮助识别对wp_options表的查询。在数据库选项卡中,New Relic会显示消耗最多时间的表和查询类型。选择列表中的条目之一,可以查看更多详细信息,包括示例查询。例如,一个网站的分析显示近250MB的自动加载数据,这显然需要优化。

排序顶部自动加载数据

清理WordPress wp_options表自动加载数据优化教程

使用以下查询可以快速列出自动加载数据最大的前10个选项:

“`sql
SELECT option_name, length(option_value) AS option_value_length
FROM wp_options WHERE autoload=’yes’
ORDER BY option_value_length DESC LIMIT 10;
“`

清理WordPress wp_options表自动加载数据优化教程

如果使用的是除wp_之外的前缀,请调整查询。

挖掘单个自动加载数据

清理WordPress wp_options表自动加载数据优化教程

让我们深入挖掘一些关键的自动加载数据。例如,如果发现”301_redirects”是最大的自动加载选项,这可能与你网站上的重定向插件或WordPress SEO插件有关。在这种情况下,最佳做法是在服务器级别实施重定向,以避免性能问题。使用宝塔面板可以轻松在服务器级别添加重定向规则,具体步骤如下:

1. 登录宝塔面板,点击网站菜单。
2. 选择需要配置301重定向的网站,点击“设置”。
3. 选择“301重定向”,设置重定向类型为“路径”。
4. 输入源地址和重定向URL。

清理WordPress wp_options表自动加载数据优化教程

另一个常见的自动加载选项是”wpurp_custom_template_”,这通常与不再安装的插件有关。你可以使用grep命令在服务器上搜索这些选项,或者通过Google搜索找到相关信息。例如,”wpurp_custom_template_”可能与WP Ultimate Recipe插件有关,这是一个典型的遗留数据案例。

清理wp_options表

清理WordPress wp_options表自动加载数据优化教程

如果你发现大量不再需要的自动加载数据,可能需要清理wp_options表中所有自动加载的数据。在删除之前,请务必备份数据库。使用以下查询查找所有自动加载的选项:

“`sql
SELECT * FROM `wp_options` WHERE `autoload` = ‘yes’;
“`

清理WordPress wp_options表自动加载数据优化教程

如果使用的是除wp_之外的前缀,请调整查询。例如,如果发现大量Jetpack相关的自动加载数据,可以运行以下查询来删除这些数据:

“`sql
DELETE FROM `wp_options` WHERE `autoload` = ‘yes’ AND `option_name` LIKE ‘%jetpack%’;
“`

清理WordPress wp_options表自动加载数据优化教程

清理瞬态数据

除非你使用对象缓存,否则WordPress会在wp_options表中存储临时数据。这些数据通常有过期时间,但有时会遗留下来。你可以使用以下查询查看是否有任何自动加载的瞬态数据:

清理WordPress wp_options表自动加载数据优化教程

“`sql
SELECT * FROM `wp_options` WHERE `autoload` = ‘yes’ AND `option_name` LIKE ‘%transient%’;
“`

更好的方法是使用像Transient Cleaner这样的插件,它可以安全地清除过期的瞬态数据。

清理WordPress wp_options表自动加载数据优化教程

清理WordPress会话

另一个常见问题是大量未清理的会话数据。你可以使用以下查询查看是否有大量会话数据:

清理WordPress wp_options表自动加载数据优化教程

“`sql
SELECT * FROM `wp_options` WHERE `option_name` LIKE ‘_wp_session_%’;
“`

在大多数情况下,你可以安全地删除这些会话数据:

清理WordPress wp_options表自动加载数据优化教程

“`sql
DELETE FROM `wp_options` WHERE `option_name` LIKE ‘_wp_session_%’;
“`

清理后,你会发现wp_options表的大小显著减少,性能得到提升。

清理WordPress wp_options表自动加载数据优化教程

添加索引以优化自动加载

如果清理数据后性能仍有问题,可以尝试向wp_options表中的autoload字段添加索引。这可以帮助MySQL更高效地搜索和查询数据。10up团队进行了一些测试,证明添加索引可以显著提高wp_options表的查询性能。

总结

通过以上方法,你可以有效地检查、故障排除和清理wp_options表中的自动加载数据,从而显著提升WordPress网站的性能。记得定期维护数据库,删除不再需要的选项,并合理设置autoload属性。如果你需要更多优化技巧,可以参考我们的深入指南:如何加速你的WordPress网站(终极指南)。

文章网址:https://www.wpbull.com/jiqiao/5339.html