首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 可插拔儲存引擎架構指南:ISAM/MyISAM/HEAP/InnoDB/BDB 特性比較與切換語法

     編輯:MySQL 資料庫相關知識

引擎選擇取決於編譯選項

預設支援:ISAM、MyISAM、HEAP。InnoDB、BDB 需編譯時啟用 (或 Max 版本)。自定引擎可用 MySQL++ API 開發。

五大引擎特性對照

引擎優點缺點適用場景
ISAM讀取極快、資源佔用低不支援交易、無容錯 (損壞不可復原)唯讀/歸檔資料
MyISAM預設引擎、全文索引、表鎖優化並發讀寫、修復工具完善需定期 OPTIMIZE TABLE、無交易、無外鍵Web 讀多寫少、虛擬主機預設
HEAP (MEMORY)全記憶體、極速、無碎片重啟資料消失、不支援 BLOB/TEXT、表鎖粗暫存表、查詢快取、中間結果
InnoDB完整 ACID 交易、行鎖、外鍵、崩潰恢復較慢、空間佔用大金融、訂單、需一致性業務
BDB (BerkeleyDB)交易、頁鎖發展停滯、效能不如 InnoDB舊系統維護

切換開關:CREATE/ALTER TABLE ... ENGINE=

-- 建表指定
CREATE TABLE t_myisam (...) ENGINE=MyISAM;
CREATE TABLE t_innodb (...) ENGINE=InnoDB;
CREATE TABLE t_heap (...) ENGINE=HEAP;

-- 線上轉換 (鎖表、重建)
ALTER TABLE t_myisam ENGINE=InnoDB;

表層級指定,同一資料庫可混用多種引擎。

MySQL++ API 願景

提供欄位/列/表/資料庫/連線/安全帳號操作介面,未來可開發原生 XML Provider 等創新儲存引擎。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved