首頁  >  文章  >  後端開發  >  優化和清理 WordPress 資料庫:DIY 指南

優化和清理 WordPress 資料庫:DIY 指南

WBOY
WBOY原創
2024-09-10 18:31:51756瀏覽

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