定期清理資料庫緩存優化,mysql資料庫緩存清理

本文目錄一覽:

怎麼清理優化wordpress資料庫

一、資料庫表清理

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;

如何清理mysql資料庫緩存數據?

1、打開mysql的客戶端 這裡使用navicat,連接資料庫,等到navicat主頁面,雙擊需要操作的資料庫連接。

2、登錄到資料庫主頁面後,點擊左側的資料庫連接,打開資料庫,可以看到可以操作的所有資料庫。

3、這時有有兩個資料庫,目標是將數據1的所有數據同步到資料庫2上,需要點擊主頁面上的。

4、打開工具菜單,選擇資料庫同步菜單,彈出數據同步的對話框,可以選擇數據源,目標資料庫。

5、選擇資料庫源和需要操作的資料庫後,然後在選擇目標資料庫連接,目標資料庫,然後在選擇需要操作的表,點擊開始即可。

如何清理緩存數據

安卓系統怎麼把手機緩存清理乾淨的方法如下:

1.卸載不必要的軟體。(主頁》設置》應用程序》選擇程序》卸載)。

2.使用助手類軟體清理垃圾、插件及軟體緩存。比如下載、安裝和使用360清理大師。(360清理大師》手機狀態》發現垃圾》》一鍵清理)。

3.刪除不用的安裝包、文檔、圖片、音樂、視頻等。(主頁》文件管理器》選擇文件》刪除)。

4.取消不用的桌面小部件。(桌面》長按小部件》卸載)。

5.盡量不使用安全衛士等占內存較大的應用。

6.使用手機自帶鍵盤程序,盡量不用另外安裝的打字應用,以減少內存佔用。

其他

方法如下:

1.使用電腦端的手機助手清理,比如iPhone的pp助手,可以清理絕大部分緩存、垃圾。

2.重裝軟體可以清理掉頑固垃圾。

3.手動清理,雖然麻煩,但是可以有效刪除軟體緩存。

緩存數據是可以清除的哦!清除緩存,會清除您手機平時上網,看視頻等殘留下來的數據,可以大大提高手機運行速度,以至於壞處嘛,也沒有太大的壞處,給您打個簡單的比方,當您瀏覽同一個網站時在您未清除緩存前打開這個網站會比清除後打開的速度快一點點,不過在您網路條件好的情況下,這種相差速度是可以忽略不計的哦!因為在您沒有清除之前緩存已經記錄您曾經瀏覽過該網頁,從而是從緩存裡面打開網頁,緩存清除就要重新載入頁面哦!

原創文章,作者:IBGO,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/144032.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
IBGO的頭像IBGO
上一篇 2024-10-24 15:27
下一篇 2024-10-24 15:27

相關推薦

  • 如何修改mysql的埠號

    本文將介紹如何修改mysql的埠號,方便開發者根據實際需求配置對應埠號。 一、為什麼需要修改mysql埠號 默認情況下,mysql使用的埠號是3306。在某些情況下,我們需…

    編程 2025-04-29
  • Python 常用資料庫有哪些?

    在Python編程中,資料庫是不可或缺的一部分。隨著互聯網應用的不斷擴大,處理海量數據已成為一種趨勢。Python有許多成熟的資料庫管理系統,接下來我們將從多個方面介紹Python…

    編程 2025-04-29
  • openeuler安裝資料庫方案

    本文將介紹在openeuler操作系統中安裝資料庫的方案,並提供代碼示例。 一、安裝MariaDB 下面介紹如何在openeuler中安裝MariaDB。 1、更新軟體源 sudo…

    編程 2025-04-29
  • Python操作MySQL

    本文將從以下幾個方面對Python操作MySQL進行詳細闡述: 一、連接MySQL資料庫 在使用Python操作MySQL之前,我們需要先連接MySQL資料庫。在Python中,我…

    編程 2025-04-29
  • Python 數據緩存及其應用

    本文將為大家詳細介紹Python數據緩存,並提供相關代碼示例。 一、Python 數據緩存基礎概念 Python 是一種解釋型語言,每次執行完一條語句後就會將內存中的結果清空,如果…

    編程 2025-04-29
  • 資料庫第三範式會有刪除插入異常

    如果沒有正確設計資料庫,第三範式可能導致刪除和插入異常。以下是詳細解釋: 一、什麼是第三範式和範式理論? 範式理論是關係資料庫中的一個規範化過程。第三範式是範式理論中的一種常見形式…

    編程 2025-04-29
  • Python緩存圖片的處理方式

    本文將從多個方面詳細闡述Python緩存圖片的處理方式,包括緩存原理、緩存框架、緩存策略、緩存更新和緩存清除等方面。 一、緩存原理 緩存是一種提高應用程序性能的技術,在網路應用中流…

    編程 2025-04-29
  • MySQL遞歸函數的用法

    本文將從多個方面對MySQL遞歸函數的用法做詳細的闡述,包括函數的定義、使用方法、示例及注意事項。 一、遞歸函數的定義 遞歸函數是指在函數內部調用自身的函數。MySQL提供了CRE…

    編程 2025-04-29
  • leveldb和unqlite:兩個高性能的資料庫存儲引擎

    本文將介紹兩款高性能的資料庫存儲引擎:leveldb和unqlite,並從多個方面對它們進行詳細的闡述。 一、leveldb:輕量級的鍵值存儲引擎 1、leveldb概述: lev…

    編程 2025-04-28
  • Python怎麼導入資料庫

    Python是一種高級編程語言。它具有簡單、易讀的語法和廣泛的庫,讓它成為一個靈活和強大的工具。Python的資料庫連接類型可以多種多樣,其中包括MySQL、Oracle、Post…

    編程 2025-04-28

發表回復

登錄後才能評論