WordPress 資料庫優化 – wp_options 表建立索引

WordPress MySQL Optimization

大型的 WordPress 網站,資料庫優化是一個重要工作,經過一段時間後,數據庫中的 wp_options 資料表會變得越來越臃腫,不但會影響網站速度,間接的在 WordPress 控制台操作時也會覺得很慢。

wp_options 資料表,主要是存放 WordPress 系統選項、外掛和主題配置文件;如果您喜歡測試外掛或主題,又沒有正確的方式刪除外掛,時間久了,wp_options 資料表臃腫肥大是必然的。

因為,很多外掛會在 wp_options 表生成臨時數據文件,當移除外掛後,這些資料表文件還是存在資料庫中。

膨脹肥大的資料表會影響數據庫的性能,然後間接影響到網站的速度,所以有必要優化 wp_options 資料表。

資料庫有很多種方法提高性能:

  • 使用 Redis 快取方式
  • 減少安裝沒必要的外掛
  • wp_options 表建立索引
  • 調整資料庫欄位結構長度
Advertisement

wp_options 表建立索引

這裡介紹 wp_options 表建立索引,可以有更快的查詢速度。

我們利用 phpMyadmin MySQL 的資料庫管理工具,執行 SQL 命令來建立。

修改資料庫前,請備份資料庫,很重要 !!

首先我們需要確認 wp_options 表是否已經創建了索引,執行一個 SQL 命令來查詢:

SHOW INDEX FROM wp_options;

WordPress MySQL Optimization

執行後顯示的是下圖的結果,沒有 autoload 列,則是沒有創建索引。

WordPress MySQL Optimization

autoload 結構建立索引

wp_options 輸入下方命令在表上創建 autoload 索引

CREATE INDEX autoload ON me_options(autoload, option_name);

WordPress MySQL Optimization

創建成功後回應:

MySQL 回傳空的查詢結果 (即零資料列)。(查詢花費 0.0397 秒。)
CREATE INDEX autoloadindex ON wp_options(autoload, option_name)

WordPress MySQL Optimization

然後我們再查詢一次資料庫,查詢 autoload 索引是否創建成功

SHOW INDEX FROM wp_options;

如下圖所示,已經在 wp_options 資料表上創建了 autoload 索引

WordPress MySQL Optimization

其他幾個常用的 SQL 命令:

wp_options 表中刪除 MySQL 索引

DROP INDEX autoload ON wp_options

autoload = yes 行數查詢

SELECT COUNT(CASE WHEN autoload = 'yes' THEN 1 END) FROM wp_options;

autoload = no 行數查詢

SELECT COUNT(CASE WHEN autoload = 'no' THEN 1 END) FROM wp_options;

使用 SSH 登入主機的作法,其 SQL 命令也是一樣,進入你的網站所指定的資料表:

mysql -uroot -p example_com  # 使用 root 帳號,登入 example_com 資料庫
Enter password:  # 使用 root 密碼登入

結語:

  • WordPress 資料庫優化中,使用一個高值量的主機是必要的元素,選擇一台有 SSD 或 NVMe 硬碟空間的主機,會有很大的幫助。
  • 盡可能的將 PHP 升級到 7.0+ 以上。
  • 不要用正式的網站,來測試外掛或主題佈景。
  • 刪除外掛後,記得在資料庫中清除殘留的資料表。

還有其他一些有用的優化方式,或是以上的方法不適合您,請在下面發表評論告訴我。

參考文件:

Big WordPress Problem – Slow WP Admin / Uncached Pageloads Slow

Some problems are first world problems. Other problems are big WordPress problems. Slow WordPress Admin? Slow uncached pageloads? We deal with some big WordPres...

WordPress 大型網站後台效能速度提升的方法

之前社團上有人提出過這個問題,解法在這篇文章「Big WordPress Problem – Slow WP Admin / Uncached Pageloads Slow」中。今天就來把文章提到的解法紀錄一下~ 首先,最重要的還是觀念釐清,或許多少會聽聞 WordPress / WooCommerce 的網站本來就不...

Featured Photo by Patrick Tomasso on Unsplash

yungke
Follow me
Advertisement

Follow Me

查看本文
喜愛 Like 點擊數!!
Back to top