大型WordPress網站速度變慢的最大原因之一是它們的資料庫尚未優化。許多較舊的站點仍在其資料庫中使用MyISAM儲存引擎。近年來,InnoDB表現得更好,更可靠。在MyISAM上使用InnoDB的一個重要原因是缺乏完整的表級鎖定。這使您的查詢處理速度更快。
InnoDB與MyISAM
以下是InnoDB和MyISAM之間的一些主要區別:
-
- InnoDB具有行級鎖定。MyISAM只有完整的表級鎖定。
- InnoDB具有所謂的參照完整性,它涉及支援外來鍵(RDBMS) 和關係約束,而MyISAM沒有 (DMBS)。
- InnoDB支援事務,這意味著您可以提交和回滾。MyISAM沒有。
- InnoDB更可靠,因為它使用事務日誌進行自動恢復。MyISAM沒有。
您使用的是MyISAM還是InnoDB?
如果您在一個相當新的WordPress站點上執行,您很可能已經在使用InnoDB MySQL儲存引擎。但是對於較舊的WordPress網站,您可能需要快速檢查一下。一些站點甚至可能混合並匹配了MyISAM和InnoDB表,您可以通過將它們全部轉換來看到改進。請按照以下這些簡單的步驟進行檢查。
第1步
登入到phpMyAdmin並單擊進入您的mySQL資料庫。
第2步
快速掃描或對“Type”列進行排序,您就可以看到您的表正在使用哪些儲存引擎型別。在下面的這個示例中,您可以看到其中兩個表仍在使用MyISAM。
查詢MyISAM表
或者,您可以執行查詢以檢視是否存在任何myISAM表。將“database”替換為您的資料庫名稱。
SELECT TABLE_NAME, ENGINE FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'database' and ENGINE = 'myISAM'
使用phpMyAdmin將MyISAM轉換為InnoDB
您可以相當輕鬆地將MyISAM轉換為InnoDB。下面的這個例子是使用wp_comments
表格。只需執行ALTER命令即可將其轉換為InnoDB儲存引擎。注意:我們始終建議在對MySQL資料庫執行任何操作之前對其進行備份。
ALTER TABLE wp_comments ENGINE=InnoDB;
確保您執行的是MySQL 5.6.4或更高版本,否則,您可能會遇到InnoDB尚不支援全文索引的問題。
或者,您也可以使用phpMyAdmin手動轉換它們。只需單擊myISAM表,單擊進入“Operations”選項卡,然後更改儲存引擎。
將MyISAM轉換為InnoDB
使用WP-CLI將MyISAM轉換為InnoDB
WP-CLI是一個命令列工具,供開發人員管理WordPress安裝的常見任務(並不常見)。檢視這篇關於如何使用WP-CLI將MyISAM轉換為InnoDB的文章。
評論留言