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

MySQL 七大儲存引擎(表類型)特性對比:MyISAM、InnoDB、MEMORY、MERGE、Archive、CSV、NDB Cluster

     編輯:MySQL 資料庫相關知識

引擎分類

引擎類別交易支援鎖粒度典型用途
MyISAM非交易否表級唯讀/多讀少寫、全文搜尋、日誌、報表
InnoDB交易是 (ACID)行級核心業務、高併發寫入、外鍵、崩潰恢復
MEMORY (HEAP)非交易否表級暫存表、查找表、極速讀取(資料重啟消失)
MERGE非交易否表級同結構多表邏輯合併、歸檔分區
Archive非交易否表級大量歷史資料壓縮儲存(僅支援 INSERT/SELECT)
CSV非交易否表級與試算軟體交換資料、日誌匯出
NDB Cluster交易是行級分散式高可用、記憶體內運算、電信級應用

MyISAM vs InnoDB 核心取捨

面向MyISAMInnoDB
交易不支援支援
外鍵不支援支援
全文索引5.6+ 支援5.6+ 支援
鎖粒度表級行級
崩潰恢復需手動修復自動 (Redo/Undo Log)
COUNT(*)極快 (儲存行數)需掃描
空間佔用較小較大 (含系統表空間)

選型決策樹

  1. 需要交易/外鍵/高併發寫入 → InnoDB(預設最佳選擇)。
  2. 唯讀/多讀少寫/全文搜尋/日誌/報表 → MyISAM。
  3. 暫存中間結果/查找表 → MEMORY。
  4. 同結構歷史分表統一查詢 → MERGE。
  5. 分散式高可用/記憶體運算 → NDB Cluster。

混合部署

MySQL 允許同一資料庫內不同表使用不同引擎,依各表存取模式靈活搭配。

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