1. 程式人生 > 其它 >WordPress清理垃圾資料、草稿及標籤的SQL語句

WordPress清理垃圾資料、草稿及標籤的SQL語句

WordPress清理垃圾資料、草稿及標籤的SQL語句

1、WordPress殘留垃圾資料刪除

使用WordPress經常換主題刪主題,裝外掛刪外掛很正常,但是簡單的刪除並不徹底,資料庫會有殘留,多餘的資料保留在post_meta表格裡,久而久之就成了一堆可觀的垃圾。可使用下面的SQL語句來清除不需要的post meta值。有益於加快資料庫執行速度,減小資料。

執行SQL語句

DELETE FROM wp_postmeta WHERE meta_key = '_edit_lock';
DELETE FROM wp_postmeta WHERE meta_key = '_edit_last'
;

2、WordPress草稿修訂版本刪除

在WordPress後臺中編輯文章時,系統會自動儲存許多修訂的副本。過多的修訂記錄會加重資料庫的負擔並造成了資源的浪費。資料庫越來越龐大,增加了資料檢索影響頁面的載入時間。

執行SQL語句

DELETE a,b,c FROM wp_posts a
LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id)
LEFT JOIN wp_postmeta c ON (a.ID = c.post_id)
WHERE a.post_type = 'revision'

注意:此方法將刪除所有的文章的所有修訂版,包括相關的meta資料。

3、WordPress處理未使用的標籤

在WordPress資料庫中,如果你使用一個查詢語句手動來刪除舊的文章,舊的標籤卻仍然會保留並在你的標籤雲/列表中出現。你可以使用下面的方法識別未使用的標籤並將它刪除。

執行SQL語句

SELECT * FROM wp_terms wt
INNER JOIN wp_term_taxonomy wtt ON wt.term_id=wtt.term_id
INNER JOIN wp_term_relationships wtr ON wtr.term_taxonomy_id=wtt.term_taxonomy_id
LEFT JOIN wp_posts wp ON
wp.ID=wtr.object_id WHERE taxonomy='post_tag' AND ID IS null AND NOT EXISTS(SELECT * From wp_terms wt2 INNER JOIN wp_term_taxonomy wtt2 ON wt2.term_id=wtt2.term_id WHERE wtt2.parent=wt.term_id) ORDER BY name;

4、修復和優化

執行完所有的語句之後,全選所有的表,然後選擇“修復表”和“優化表”。