WordPress的文章、評論等很多數(shù)據(jù)都是存放在數(shù)據(jù)庫的,所以搭建wordpress網(wǎng)站的時(shí)間,網(wǎng)站的空間不需要多大,而數(shù)據(jù)庫一定要充足。
而在WordPress數(shù)據(jù)庫中主要使用 wp_posts 表來存儲日志,頁面,附件,導(dǎo)航菜單等數(shù)據(jù),根據(jù)使用的時(shí)間越來越長,堆積的數(shù)據(jù)越來越多,從而運(yùn)行起來也越來越慢,那么我是十分有必要對 WordPress數(shù)據(jù)庫來進(jìn)行整體的優(yōu)化下。
溫馨提醒優(yōu)化之前切記先備份下數(shù)據(jù)
刪除所有日志修訂
影響wordpress運(yùn)行速度的根源在于日志的修訂記錄,一百多篇文章會有一千多條的日志修訂的記錄,所以此步優(yōu)化必須做,提速效果非常明顯,執(zhí)行以下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' |
優(yōu)化 wp_posts 表
寫文章的時(shí)候進(jìn)行的插入、更新或刪除等都會產(chǎn)生不同大小的記錄碎片,整理碎片這步要做。
| OPTIMIZE TABLE wp_posts; |
刪除所有垃圾留言
這個(gè)可以在后臺一條一條的刪除,也可以到MySQL執(zhí)行下也行:
| DELETE FROM wp_comments WHERE comment_approved != '1'; |
刪除沒有的標(biāo)簽
有些文章刪除了,但標(biāo)簽還在,WordPress不會自動(dòng)刪除的,我們手動(dòng)清理下吧:
| 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 ); |
刪除沒用的 postmeta 記錄
當(dāng)文章的記錄刪除后,還有日志擴(kuò)展表postmeta的數(shù)據(jù)還沒有刪除,也人工清理下吧:
| DELETE pm FROM wp_postmeta pm LEFT JOIN wp_posts wp ON wp.ID = pm.post_id WHERE wp.ID IS NULL |
總而言之網(wǎng)站的速度就是網(wǎng)站的”半條生命”不要讓自己的網(wǎng)站太過臃腫,以免影響網(wǎng)友訪問。





