Photo by Jeremy Thomas on Unsplash
大型的 WordPress 網站,資料庫優化是一個重要工作,經過一段時間後,數據庫中的 wp_options 資料表會變得越來越臃腫,不但會影響網站速度,間接的在 WordPress 控制台操作時也會覺得很慢。
wp_options 資料表,主要是存放 WordPress 系統選項、外掛和主題配置文件;如果您喜歡測試外掛或主題,又沒有正確的方式刪除外掛,時間久了,wp_options 資料表臃腫肥大是必然的。
內容目錄:
- wp_options 表建立索引
- autoload 結構建立索引
因為,很多外掛會在 wp_options 表生成臨時數據文件,當移除外掛後,這些資料表文件還是存在資料庫中。
膨脹肥大的資料表會影響數據庫的性能,然後間接影響到網站的速度,所以有必要優化 wp_options 資料表。
資料庫有很多種方法提高性能:
- 使用 Redis 快取方式
- 減少安裝沒必要的外掛
- wp_options 表建立索引
- 調整資料庫欄位結構長度
wp_options 表建立索引
這裡介紹 wp_options 表建立索引,可以有更快的查詢速度。
我們利用 phpMyadmin MySQL 的資料庫管理工具,執行 SQL 命令來建立。
修改資料庫前,請備份資料庫,很重要 !!
首先我們需要確認 wp_options 表是否已經創建了索引,執行一個 SQL 命令來查詢:
SHOW INDEX FROM wp_options;
執行後顯示的是下圖的結果,沒有 autoload 列,則是沒有創建索引。
autoload 結構建立索引
wp_options 輸入下方命令在表上創建 autoload 索引
CREATE INDEX autoload ON me_options(autoload, option_name);
創建成功後回應:
MySQL 回傳空的查詢結果 (即零資料列)。(查詢花費 0.0397 秒。)
CREATE INDEX autoloadindex ON wp_options(autoload, option_name)
然後我們再查詢一次資料庫,查詢 autoload 索引是否創建成功
SHOW INDEX FROM wp_options;
如下圖所示,已經在 wp_options 資料表上創建了 autoload 索引
其他幾個常用的 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+ 以上。
- 不要用正式的網站,來測試外掛或主題佈景。
- 刪除外掛後,記得在資料庫中清除殘留的資料表。
還有其他一些有用的優化方式,或是以上的方法不適合您,請在下面發表評論告訴我。
參考文件:
發佈留言