隨著您的 WordPress 專案的成長,您可能會開始注意到效能問題,這通常是由臃腫的資料庫引起的。雖然有許多外掛程式可幫助清理資料庫,但有時了解如何自己清理資料庫還是很有好處的。本指南將引導您手動清理和優化 WordPress 資料庫。
在對資料庫進行任何更改之前,請務必建立備份。以下步驟涉及執行破壞性 SQL 查詢,這將永久刪除數據,並且您不想丟失任何重要的內容。備份將確保您在出現問題時可以恢復。
如果您不習慣手動執行 SQL 查詢,請不要擔心 — 有一些優秀的外掛程式可以為您自動執行該過程。以下是一些強烈推薦的選項:
這些外掛程式可以有效地處理各種資料庫清理任務。即使您採用插件路線,為了安全起見,您仍然應該在運行任何資料庫清理作業之前建立備份。
目標是刪除隨著時間的推移在資料庫中累積的不必要的資料 - 您不再需要但可能會降低網站速度的資料。這是我們的目標:
透過刪除這些不必要的項目,您可以顯著提高 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中文網其他相關文章!