InnoDB 與 MyISAM 是 MySQL 最常用的兩大儲存引擎,各有優劣,需視業務選型。以下為已知核心差異:
SELECT COUNT(*) 需全表掃描;MyISAM 直接讀取儲存值。帶 WHERE 條件時兩者一致。DELETE FROM table 時,InnoDB 逐行刪除不重建表;MyISAM 重建表。InnoDB 行鎖非絕對:若 SQL 無法確定掃描範圍(如 UPDATE table SET num=1 WHERE name LIKE '%aaa%'),同樣會升級為全表鎖。
無萬能引擎,唯有針對業務類型選擇合適引擎,才能最大化 MySQL 效能優勢。