預設支援:ISAM、MyISAM、HEAP。InnoDB、BDB 需編譯時啟用 (或 Max 版本)。自定引擎可用 MySQL++ API 開發。
| 引擎 | 優點 | 缺點 | 適用場景 |
|---|---|---|---|
| ISAM | 讀取極快、資源佔用低 | 不支援交易、無容錯 (損壞不可復原) | 唯讀/歸檔資料 |
| MyISAM | 預設引擎、全文索引、表鎖優化並發讀寫、修復工具完善 | 需定期 OPTIMIZE TABLE、無交易、無外鍵 | Web 讀多寫少、虛擬主機預設 |
| HEAP (MEMORY) | 全記憶體、極速、無碎片 | 重啟資料消失、不支援 BLOB/TEXT、表鎖粗 | 暫存表、查詢快取、中間結果 |
| InnoDB | 完整 ACID 交易、行鎖、外鍵、崩潰恢復 | 較慢、空間佔用大 | 金融、訂單、需一致性業務 |
| BDB (BerkeleyDB) | 交易、頁鎖 | 發展停滯、效能不如 InnoDB | 舊系統維護 |
-- 建表指定
CREATE TABLE t_myisam (...) ENGINE=MyISAM;
CREATE TABLE t_innodb (...) ENGINE=InnoDB;
CREATE TABLE t_heap (...) ENGINE=HEAP;
-- 線上轉換 (鎖表、重建)
ALTER TABLE t_myisam ENGINE=InnoDB;
表層級指定,同一資料庫可混用多種引擎。
提供欄位/列/表/資料庫/連線/安全帳號操作介面,未來可開發原生 XML Provider 等創新儲存引擎。