優化 WordPress 數據庫,提高 WordPress 速度

WordPress 的機制是主要使用 wp_posts 表來存儲所有數據,包括日誌,頁面,附件,導航菜單等等,所以 WordPress 使用了一定時間之後,數據量一大還是有點慢,除了對 WordPress 進行全方面的優化之外,我們還可以對數據表進行減肥和優化,來提高 WordPress 的速度。

1. 刪除所有日誌修訂

日誌修訂是所有速度慢的罪惡之源,幾百篇日誌會有幾千條日誌修訂的記錄,所以用力刪除把,提速效果非常明顯:

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'
2. 關閉日誌修訂

日誌修訂不是好東西,你可以關閉它或者限制數據庫存的修訂個數:

關閉日誌修訂:

define('WP_POST_REVISIONS', false);

限制日誌修訂爲最新的3個:

define('WP_POST_REVISIONS', 3);

3. 優化 wp_posts 表

對 MySQL 數據記錄進行插入、更新或刪除時,會佔有不同大小的空間,記錄就會變成碎片,且留下空閒的空間。就像具有碎片的磁盤,會降低性能,需要整理,因此要優化。

OPTIMIZE TABLE wp_posts;
4. 刪除所有垃圾留言

不用到後臺一條一條刪除,只需下面一條 MySQL 即可:

DELETE FROM wp_comments WHERE comment_approved != '1';
5. 刪除沒有的標籤

不再使用的標籤,WordPress 是不會自動刪除的,需要人工清理下:

DELETE a,b,c
FROM
    wp_terms AS a
    LEFT JOIN wp_term_taxonomy AS c ON a.term_id = c.term_id
    LEFT JOIN wp_term_relationships AS b ON b.term_taxonomy_id = c.term_taxonomy_id
WHERE (
    c.taxonomy = 'post_tag' AND
    c.count = 0
    );

6. 刪除沒用的 postmeta 記錄

可能日誌的記錄已經刪除了,但是日誌擴展表 postmeta 裏面的數據還沒有刪除,也人工清理下吧:

DELETE pm FROM wp_postmeta pm LEFT JOIN wp_posts wp ON wp.ID = pm.post_id WHERE wp.ID IS NULL
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章