怎么清理優化wordpress數據庫_第1頁
怎么清理優化wordpress數據庫_第2頁
怎么清理優化wordpress數據庫_第3頁
怎么清理優化wordpress數據庫_第4頁
怎么清理優化wordpress數據庫_第5頁
已閱讀5頁,還剩3頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、一、數據庫表清理1. wordpress數據庫表wp_commentmeta: 用于保存評論的元信息,在將評論放入回收站等操作時會將數據放入此表,Akismet等插件也會生成此表的數據。此表不太重要wp_comments: 用于保存評論信息的表wp_links: 用于保存用戶輸入到Wordpress中的鏈接(通過Link Manager)的表wp_options: 用于保存Wordpress相關設置、參數的表,里面包括了大量的重要信息wp_postmeta: 用于保存文章的元信息(meta)的表wp_posts: 用于保存你所有的文章相關信息的表,非常的重要。一般它存儲的數據是最多的wp_te

2、rms: 文章和鏈接分類以及文章的tag分類可以在表里找到wp_term_relationships: 日志與wp_terms中的類別與標簽聯合起來共同存儲在wp_terms_relationships表中。類別相關鏈接也存儲在wp_terms_relationships中wp_term_taxonomy: 該表格對wp_terms表中的條目分類(類別、鏈接以及標簽)進行說明wp_usermeta : 用于保存用戶元信息(meta)的表wp_users:用于保存Wordpress使用者的相關信息的表2. 清理涉及到的表更換主題,刪除插件會在將數據留在數據庫中,在卸載后無法被清理。除此之外,在由

3、于一些操作,會導致數據庫的冗余,比如已經沒有的評論,不應該在評論元數據表中有記錄,由于沒有外鍵的約束,這些記錄沒有被刪除,會造成數據的冗余。本文的宗旨是刪除掉不必要的數據庫內容,提高wordpress的效率在此,主要涉及到一下幾張表:wp_options,wp_posts,wp_postmeta,wp_commentmeta注意清理之前進行備份3. wp_options的清理wp_options 這個數據表是wordpress設置的全局數據,這個表會經常有數據膨脹。主要原因是:(1)以前用過的一些插件、主題在刪除之后沒有進行設置的清理,造成殘留數據(2)占用數據的大戶RSS緩存,后臺的數據調用

4、竟然會放到數據庫里面處理方法:網上對RSS處理方法有兩種一個是修改后臺的文件直接不去調用,這個是我不喜歡的畢竟修改了程序,其實這個很容易忘記WP升級是太頻繁的哪次更新覆蓋了新文件還是照樣緩存.另外一種就是在配置文件里面填寫define(MAGPIE_CACHE_ON, 0); 這個是管用的,添加以后后臺首頁的調用明顯變慢使用插件clean options費力但是簡單的清除方法:刪除wp_options表,會刪除一些設置,需要重新設置wordpress,推薦新手使用TRUNCATE TABLE wp_options;4.wp_posts清理wordpress的文章有好多:wp_posts表中包括

5、文章種類:文章、修訂版本、頁面、文章的附件、菜單其中每種文章又會有很多狀態:繼承、發布、私有、草稿、自動草稿、回收站中冗余原因:(1)在博主寫文章的時候,系統會保存很多的中間狀態,在文章發布之后其很多的中間狀態沒有被刪除解決辦法:使用插件:WP Cleaner,使用插件的好處就是有保護機制,無論怎么操作都無法影響已發布的貼子,請放心使用自己動手刪除,數據庫中的標志刪除文章,注意備份說明:wp_posts的重要字段含義:post_type:文章類型,post表示為文章,revision表示為修訂版本,page為頁面,attachment是文章的附件信息,nav_menu_item是菜單。這里我們

6、需要的是文章、頁面、和菜單post_status:文章狀態,inherit是繼承的附件和文章的附帶信息,publish是已經發布、private是私有的,draft是草稿,auto-draft是自動草稿,trash是在回收站。這里我們需要的是publish的狀態的這里我們主要是要 已經發布的文章、頁面和菜單,除此之外的都可以刪除,當然可以根據自己的需求選擇刪除哪些DELETE FROM wp_postsWHERE NOT(post_status = publish AND post_type IN(post,'nav_menu_item, page);去除WP保存修訂版本的功能Word

7、Press默認的功能并不都是我們想要的,比如修訂版本歷史對于大多數人來說是無用的雞肋功能。所以我么需要禁止一些博客功能,來達到較為符合個人要求的博客應用。對于高手來說,可以直接修改程序的配置文件,來禁止相關功能。對于我等程序小白來說還是利用插件是最佳的選擇推薦中文插件SuperSwitch來關閉一些我們不需要的博客功能。這個插件可以關閉自動保存和修訂歷史版本,還可以關閉博客程序、主題、插件的自動更新。功能非常強大,操作及其簡單。用SuperSwitch禁止了保存修訂版本之后,文章序號就不會斷得太厲害了5.wp_postmeta清理wp_postmeta是文章的元信息表,其數據是系統或者插件使用

8、冗余原因:(1)文章被刪除之后,其在wp_postmeta中的數據理應被刪除,在系統中多數情況是系統自動刪除,但是由于人為刪除文章,系統不知道被刪除,就不會刪除wp_postmeta表中的數據,造成冗余(2)很多主題、插件沒有做好及時清除的工作解決辦法: 手動刪除規矩刪除刪除文章中不存在文章的元信息DELETE FROM wp_postmeta WHERE post_id NOT IN (SELECT post_id FROM wp_posts);安全刪除刪除_edit_lock和_edit_last條目是安全的,所以這里給出SQL語句DELETE FROM wp_postmeta WHERE

9、 meta_key = _edit_lock;DELETE FROM wp_postmeta WHERE meta_key = _edit_last;風險刪除除了這兩條還執行了一些其他語句由于有些風險:自己酌情考慮DELETE FROM wp_postmeta WHERE meta_key = _wp_old_slug;DELETE FROM wp_postmeta WHERE meta_key = _revision-control;DELETE FROM wp_postmeta WHERE meta_value = unknown;特殊插件刪除postnav插件會記錄每個文章的訪問數,如果

10、不需要,可以刪除DELETE FROM wp_postmeta WHERE meta_key = views;特殊操作刪除在WordPress的后臺上傳圖片或者附件后會在wp_postmeta中生成_wp_attached_file和_wp_attachment_metadata兩個項,wp_posts也會記錄附件的信息。如果使用FTP工具上傳文件,表中就不會有這些信息DELETE FROM wp_postmeta WHERE meta_key = _wp_attached_file;DELETE FROM wp_postmeta WHERE meta_key = _wp_attachment

11、_metadata;潔癖刪除這幾條條語句執行完畢能夠刪除掉95%以上的數據,算的上是極限優化了,最后考慮到這個數據表并不是很重要,有潔凈癖的人可以嘗試清空這個表,當然我測試清空表會讓一些原本的數據丟失TRUNCATE TABLE wp_postmeta;6. wp_commentmeta清理冗余原因:(1)評論被刪除之后,其在wp_commentmeta中的數據理應被刪除,在系統中多數情況是系統自動刪除,但是由于人為刪除文章,系統不知道被刪除,就不會刪除wp_commentmeta表中的數據,造成冗余(2)很多主題、插件沒有做好及時清除的工作解決辦法:一下語句去除沒有用的數據,如果評論中沒有此

12、條評論,那么在wp_commentmeta也沒有意義,好像wordpress在清空回收站的時候會刪除wp_commentmeta相應的數據。如果不出意外,下面的操作我們應該不需要做DELETE FROM wp_comments WHERE comment_approved = trash;DELETE FROM wp_commentmeta WHERE comment_id NOT IN (SELECT comment_id FROM wp_comments);在wp_commentmeta里面會記錄評論被刪除的時間,這些信息用處不是很大,當評論被從回收站刪除之后,這些刪除的時間意義就不是很大

13、,就可以刪除了,所以用下面的語句一樣達到刪除的目的DELETE FROM wp_commentmeta WHERE meta_key LIKE %trash%;如果直接全部刪除wp_commentmeta,影響不會太大,這里面不會涉及重要的數據TRUNCATE TABLE wp_commentmeta7. 總結其實大部分無用的數據均在這幾張表中,清理過后應該不會又太多的冗余數據了。但這里沒有針對特殊插件或主題做數據庫清理,有時這些插件和主題會悄悄動了一些數據庫表,這樣給清理帶來很大難度,需要看代碼才知道哦二、數據庫表優化原理:數據庫優化不涉及數據的刪除,是將數據庫的表的狀態調整好。在使用php

14、myadmin時候,或許您會看到數據庫表后面有多余xxMB的字樣,這個指的是那些已經分配給當前表但是卻沒有使用的空間。這個多余是沒有什么害處的,他不會占用你的空間。當刪除一個表的一部分記錄時,這些記錄仍然保持在一個linked list 中,當插入新數據時會再次使用這些老紀錄的位置。所以刪除紀錄會閑置一些空間造成你說的“多余”優化:(1)在phpmyadmin手動 優化或者修復表即可(2)運行SQL:OPTIMIZE TABLE wp_commentmeta;OPTIMIZE TABLE wp_comments;OPTIMIZE TABLE wp_links;OPTIMIZE TABLE wp

15、_options;OPTIMIZE TABLE wp_postmeta;OPTIMIZE TABLE wp_posts;OPTIMIZE TABLE wp_terms;OPTIMIZE TABLE wp_term_relationships;OPTIMIZE TABLE wp_term_taxonomy;OPTIMIZE TABLE wp_usermeta;OPTIMIZE TABLE wp_users;(3)插件:Optimize DB我是使用SQL語句進行清理與優化的,附我的優化SQL語句(我的表前綴是wp1):DELETE FROM wp1_posts WHERE NOT(post_st

16、atus = publish AND post_type IN(post,'nav_menu_item, page);DELETE FROM wp1_postmeta WHERE meta_key in (_edit_lock, _edit_last, _wp_old_slug, _revision-control, unknown, _wp_attached_file, _wp_attachment_metadata);DELETE FROM wp1_postmeta WHERE post_id NOT IN (SELECT id FROM wp1_posts);DELETE FRO

17、M wp1_comments WHERE comment_approved like %trash%;DELETE FROM wp1_commentmeta WHERE comment_id NOT IN (SELECT comment_id FROM wp1_comments);OPTIMIZE TABLE wp1_commentmeta;OPTIMIZE TABLE wp1_comments;OPTIMIZE TABLE wp1_links;OPTIMIZE TABLE wp1_options;OPTIMIZE TABLE wp1_postmeta;OPTIMIZE TABLE wp1_p

18、osts;OPTIMIZE TABLE wp1_terms;OPTIMIZE TABLE wp1_term_relationships;OPTIMIZE TABLE wp1_term_taxonomy;OPTIMIZE TABLE wp1_usermeta;OPTIMIZE TABLE wp1_users;修訂版本這玩意看到特不舒服,個人感覺意義不大,反而造成數據庫大量垃圾數據,百度找了下方法,特此分享出來,給正在折騰WP的同學們。直接進入主題!首先打開functions.php 這個文件,不用說了吧,玩WP的都知道,加入:remove_action ( 'pre_post_update',

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論