一、數據庫表清理

創新互聯專注于紅橋網站建設服務及定制,我們擁有豐富的企業做網站經驗。 熱誠為您提供紅橋營銷型網站建設,紅橋網站制作、紅橋網頁設計、紅橋網站官網定制、成都微信小程序服務,打造紅橋網絡公司原創品牌,更為您提供紅橋網站排名全網營銷落地服務。
1. wordpress數據庫表
wp_commentmeta: 用于保存評論的元信息,在將評論放入回收站等操作時會將數據放入此表,Akismet等插件也會生成此表的數據。此表不太重要
wp_comments: 用于保存評論信息的表
wp_links: 用于保存用戶輸入到Wordpress中的鏈接(通過Link Manager)的表
wp_options: 用于保存Wordpress相關設置、參數的表,里面包括了大量的重要信息
wp_postmeta: 用于保存文章的元信息(meta)的表
wp_posts: 用于保存你所有的文章相關信息的表,非常的重要。一般它存儲的數據是最多的
wp_terms: 文章和鏈接分類以及文章的tag分類可以在表里找到
wp_term_relationships: 日志與wp_terms中的類別與標簽聯合起來共同存儲在wp_terms_relationships表中。類別相關鏈接也存儲在wp_terms_relationships中
wp_term_taxonomy: 該表格對wp_terms表中的條目分類(類別、鏈接以及標簽)進行說明
wp_usermeta : 用于保存用戶元信息(meta)的表
wp_users:用于保存Wordpress使用者的相關信息的表
2. 清理涉及到的表
更換主題,刪除插件會在將數據留在數據庫中,在卸載后無法被清理。除此之外,在由于一些操作,會導致數據庫的冗余,比如已經沒有的評論,不應該在評論元數據表中有記錄,由于沒有外鍵的約束,這些記錄沒有被刪除,會造成數據的冗余。本文的宗旨是刪除掉不必要的數據庫內容,提高wordpress的效率
在此,主要涉及到一下幾張表:wp_options,wp_posts,wp_postmeta,wp_commentmeta
注意清理之前進行備份
3. wp_options的清理
wp_options 這個數據表是wordpress設置的全局數據,這個表會經常有數據膨脹。主要原因是:
(1)以前用過的一些插件、主題在刪除之后沒有進行設置的清理,造成殘留數據
(2)占用數據的大戶–RSS緩存,后臺的數據調用竟然會放到數據庫里面
處理方法:
①網上對RSS處理方法有兩種一個是修改后臺的文件直接不去調用,這個是我不喜歡的畢竟修改了程序,其實這個很容
易忘記WP升級是太頻繁的哪次更新覆蓋了新文件還是照樣緩存.另外一種就是在配置文件里面填寫define(‘MAGPIE_CACHE_ON’, ’0′); 這個是管用的,添加以后后臺首頁的調用明顯變慢
②使用插件clean options
③費力但是簡單的清除方法:刪除wp_options表,會刪除一些設置,需要重新設置wordpress,推薦新手使用
TRUNCATE TABLE wp_options;
4.wp_posts清理
wordpress的文章有好多:wp_posts表中包括
文章種類:文章、修訂版本、頁面、文章的附件、菜單
其中每種文章又會有很多狀態:繼承、發布、私有、草稿、自動草稿、回收站中
冗余原因:
(1)在博主寫文章的時候,系統會保存很多的中間狀態,在文章發布之后其很多的中間狀態沒有被刪除
解決辦法:
①使用插件:WP Cleaner,使用插件的好處就是有保護機制,無論怎么操作都無法影響已發布的貼子,請放心使用
②自己動手刪除,數據庫中的標志刪除文章,注意備份
說明:wp_posts的重要字段含義:
post_type:文章類型,post表示為文章,revision表示為修訂版本,page為頁面,attachment是文章的附件信息,nav_menu_item是菜單。這里我們需要的是文章、頁面、和菜單
post_status:文章狀態,inherit是繼承的附件和文章的附帶信息,publish是已經發布、private是私有的,draft是草稿,auto-draft是自動草稿,trash是在回收站。這里我們需要的是publish的狀態的
這里我們主要是要 已經發布的文章、頁面和菜單,除此之外的都可以刪除,當然可以根據自己的需求選擇刪除哪些
DELETE FROM wp_posts
WHERE NOT(post_status = ‘publish’ AND post_type IN(‘post’,'nav_menu_item’,’ page’));
③去除WP保存修訂版本的功能
WordPress默認的功能并不都是我們想要的,比如修訂版本歷史對于大多數人來說是無用的雞肋功能。所以我么需要禁止一些博客功能,來達到較為符合個
人要求的博客應用。對于高手來說,可以直接修改程序的配置文件,來禁止相關功能。對于我等程序小白來說還是利用插件是最佳的選擇
推薦中文插件SuperSwitch來關閉一些我們不需要的博客功能。這個插件可以關閉自動保存和修訂歷史版本,還可以關閉博客程序、主題、插件的自動更新。功能非常強大,操作及其簡單。用SuperSwitch禁止了保存修訂版本之后,文章序號就不會斷得太厲害了
5.wp_postmeta清理
wp_postmeta是文章的元信息表,其數據是系統或者插件使用
冗余原因:
(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 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插件會記錄每個文章的訪問數,如果不需要,可以刪除
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_metadata’;
潔癖刪除
這幾條條語句執行完畢能夠刪除掉95%以上的數據,算的上是極限優化了,最后考慮到這個數據表并不是很重要,有潔
凈癖的人可以嘗試清空這個表,當然我測試清空表會讓一些原本的數據丟失
TRUNCATE TABLE wp_postmeta;
6. wp_commentmeta清理
冗余原因:
(1)評論被刪除之后,其在wp_commentmeta中的數據理應被刪除,在系統中多數情況是系統自動刪除,但是由于人為刪除文章,系統不知道被刪除,就不會刪除wp_commentmeta表中的數據,造成冗余
(2)很多主題、插件沒有做好及時清除的工作
解決辦法:
一下語句去除沒有用的數據,如果評論中沒有此條評論,那么在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里面會記錄評論被刪除的時間,這些信息用處不是很大,當評論被從回收站刪除之后,這些刪除的時間意義就不是很大,就可以刪除了,所以用下面的語句一樣達到刪除的目的
DELETE FROM wp_commentmeta WHERE meta_key LIKE ‘%trash%’;
如果直接全部刪除wp_commentmeta,影響不會太大,這里面不會涉及重要的數據
TRUNCATE TABLE wp_commentmeta
7. 總結
其實大部分無用的數據均在這幾張表中,清理過后應該不會又太多的冗余數據了。但這里沒有針對特殊插件或主題做數據庫清理,有時這些插件和主題會悄悄動了一些數據庫表,這樣給清理帶來很大難度,需要看代碼才知道哦
二、數據庫表優化
原理:數據庫優化不
涉及數據的刪除,是將數據庫的表的狀態調整好。在使用phpmyadmin時候,或許您會看到數據庫表后面有多余xxMB的字樣,這個指的是那些已經分配
給當前表但是卻沒有使用的空間。這個多余是沒有什么害處的,他不會占用你的空間。當刪除一個表的一部分記錄時,這些記錄仍然保持在一個linked
list 中,當插入新數據時會再次使用這些老紀錄的位置。所以刪除紀錄會閑置一些空間造成你說的“多余”
優化:
(1)在phpmyadmin手動 優化或者修復表即可
(2)運行SQL:
OPTIMIZE TABLE wp_commentmeta;
OPTIMIZE TABLE wp_comments;
OPTIMIZE TABLE wp_links;
OPTIMIZE TABLE wp_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_status = ‘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 FROM 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_posts;
OPTIMIZE TABLE wp1_terms;
OPTIMIZE TABLE wp1_term_relationships;
OPTIMIZE TABLE wp1_term_taxonomy;
OPTIMIZE TABLE wp1_usermeta;
OPTIMIZE TABLE wp1_users;
自己本地測和上傳到服務器后的運行情況相差太遠了
不過wordpress相對來說比較占用資源的
負載能力差的程序造成cpu占用過高
不限空間、流量、網站數,并不是說你就可以無限制的使用資源,因為國外主機對cpu的占用是有限制的。如果你選用建站程序不太好、流量又過大,導致cpu占用過高,就會被暫停訪問的。最可能超的就是cpu限制,其他限制超過的情況比較少。程序的好壞對這些影響很大。
Lunarpages的CPU限制的的確比較厲害,不過CPU的使用量和所用的程序有非常大的關系,論壇類的由于用戶Session是處于連接狀態的,所以耗資源特別厲害。靜態化的話就可以承受比較高的PV量
還有動態程序,盡可能的生成靜態網頁,如果是論壇的話,那就減少插件吧。做了這幾步如果還被封,只能換空間了。
一個大流量的wordpress博客,不做任何優化,cpu肯定會超標。日3000ip以上,虛擬主機就撐不了了,這除了cpu限制以外,還有wp 本身的原因,wp的執行效率是很低的,不弄緩存(生成靜態文件, 使用WP Super Cache插件),國外隨便哪個oversell的主機都是吃不消的,但是緩存了呢?直接生成的靜態文件,訪問的時候不需要cpu去執行php,這就大大降低了cpu的消耗率。
承受能力:很多人問一天能支持多少ip,其實這個問題很難回答,有客戶說圖片站一天跑過萬ip的,也有人說一天過3千就費勁,其實這個和程序關系很大的,建議把程序優化下,而且官方不允許超cpu的20%;現在很多都是不限空間和不限流量,但實際上你根本用不了多少,就算你真的ip數上來了,也有 cpu限制,我一個站運行wordpress,到4000多ip的時候就老是被暫停賬號了。
lamp。
前者是一組常用來搭建動態網站或者服務器的開源軟件,本身都是各自獨立的程序,擁有了越來越高的兼容度。
數據庫是存放數據的倉庫。它的存儲空間很大,可以存放百萬條、千萬條、上億條數據。但是數據庫并不是隨意地將數據進行存放,是有一定的規則的,否則查詢的效率會很低。
推廣的最重要的是內容,內容要足夠有料,原創、堅持定期更新
                文章名稱:wordpress效率 wordpress 0day
                
                本文URL:http://www.yijiale78.com/article28/dohepcp.html
            
成都網站建設公司_創新互聯,為您提供網站建設、用戶體驗、網站營銷、網頁設計公司、全網營銷推廣、標簽優化
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯