首页  >  文章  >  后端开发  >  优化和清理 WordPress 数据库:DIY 指南

优化和清理 WordPress 数据库:DIY 指南

WBOY
WBOY原创
2024-09-10 18:31:51918浏览

Optimizing and Cleaning Up Your WordPress Database: A DIY Guide

随着您的 WordPress 项目的增长,您可能会开始注意到性能问题,这通常是由臃肿的数据库引起的。虽然有许多插件可帮助清理数据库,但有时了解如何自己清理数据库还是很有好处的。本指南将引导您手动清理和优化 WordPress 数据库。

首先备份 - 这很重要!

在对数据库进行任何更改之前,请务必创建备份。以下步骤涉及运行破坏性 SQL 查询,这将永久删除数据,并且您不想丢失任何重要的内容。备份将确保您在出现问题时可以恢复。

插件替代品

如果您不习惯手动运行 SQL 查询,请不要担心 — 有一些优秀的插件可以为您自动执行该过程。以下是一些强烈推荐的选项:

  • 高级数据库清理器
  • WP-扫
  • WP-优化

这些插件可以有效地处理各种数据库清理任务。即使您采用插件路线,为了安全起见,您仍然应该在运行任何数据库清理操作之前创建备份。

我们在清洁什么?

目标是删除随着时间的推移在数据库中积累的不必要的数据 - 您不再需要但可能会降低网站速度的数据。这是我们的目标:

  • 瞬态:存储在数据库中的临时数据。
  • 修订:旧帖子版本。
  • 自动草稿:自动保存从未发布过的草稿。
  • 孤立帖子元:不再存在的帖子的元数据。
  • 垃圾邮件和垃圾评论:不需要的评论会扰乱您的数据库。
  • 孤立关系:未使用的术语关系(标签、类别)。
  • 过期会话:旧用户会话数据。
  • 旧插件选项:停用或删除的插件留下的未使用选项。
  • 未附加媒体:没有父帖子的媒体文件(尽管这不会删除实际文件)。

通过删除这些不必要的项目,您可以显着提高 WordPress 数据库性能。

请记住在继续之前备份您的数据库。此外,我们会将所有 SQL 语句包装在一个事务中,以便您在事情未按计划进行时回滚更改。

增强数据库性能

除了清理数据库之外,您还可以通过优化常用表来提高性能。这可以减少碎片并保持数据库平稳运行。

准备好清洁了吗?

如果您有信心并准备好,请将以下 SQL 查询复制并粘贴到 WordPress 服务器的 SQL 控制台中。请随意通过注释掉或删除它们来跳过任何查询。

如果您的 WordPress 数据库使用自定义表前缀,请将查询中的默认 wp_ 前缀替换为您自己的前缀。

优化查询

此查询优化了一些最常用的 WordPress 表:

-- Optimize commonly used WordPress tables to reduce fragmentation
OPTIMIZE TABLE wp_posts, wp_postmeta, wp_options, wp_usermeta, wp_comments;

清理查询

这是清理部分,包含在事务中,以便您可以在需要时将其回滚:

-- Start the transaction
START TRANSACTION;

-- Remove transients (temporary data)
DELETE FROM wp_options WHERE option_name LIKE '_transient_%' OR option_name LIKE '_site_transient_%';

-- Remove post revisions
DELETE FROM wp_posts WHERE post_type = 'revision';

-- Remove auto-drafts
DELETE FROM wp_posts WHERE post_status = 'auto-draft';

-- Remove orphaned post meta (meta data for non-existent posts)
DELETE pm FROM wp_postmeta pm LEFT JOIN wp_posts wp ON wp.ID = pm.post_id WHERE wp.ID IS NULL;

-- Remove orphaned comment meta
DELETE FROM wp_commentmeta WHERE comment_id NOT IN (SELECT comment_id FROM wp_comments);

-- Remove spam and trashed comments
DELETE FROM wp_comments WHERE comment_approved IN('spam', 'trash');

-- Remove orphaned term relationships (tags, categories linked to non-existent posts)
DELETE tr FROM wp_term_relationships tr LEFT JOIN wp_posts wp ON wp.ID = tr.object_id WHERE wp.ID IS NULL;

-- Remove expired user sessions
DELETE FROM wp_usermeta WHERE meta_key = '_wp_session_expires' AND meta_value < UNIX_TIMESTAMP();

-- Remove old, non-autoloading plugin options
DELETE FROM wp_options WHERE autoload = 'no';

-- Identify unattached media files (this won't delete the files, just shows them)
SELECT * FROM wp_posts WHERE post_type = 'attachment' AND post_parent = 0;

-- Commit the transaction (to apply changes)
COMMIT;

如果出现问题则回滚

如果您遇到任何问题或出现问题,您可以取消交易并恢复更改:

-- Rollback the transaction if you don't want to commit the changes
ROLLBACK;

结论

定期清理和优化 WordPress 数据库对于保持良好的性能至关重要,尤其是随着您的网站的增长。无论您喜欢手动执行还是使用插件,重要的是确保您的数据库不会成为瓶颈。

按照本指南,您可以安全高效地清理和优化数据库,保持网站平稳运行。请记住:始终始终在进行更改之前备份!

以上是优化和清理 WordPress 数据库:DIY 指南的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn