MySQL最佳入門 - MySQL存儲引擎

目錄

存儲引擎分類

MYISAM

InnoDB

MEMORY

NDB

存儲引擎比較


存儲引擎分類

MYISAM

MySQL 5.5.5之前的默認存儲引擎。

  • 支持大文件,通常認爲是256TB,一般來講沒有限制,但是受操作系統的影響;
  • 適合讀多寫少的應用場景;
  • 每個MYISAM表的最大索引數是64,可以通過編譯改變;
  • BLOB和TEXT類型可以被索引;
  • 支持全文索引;
  • 僅支持表鎖,無論讀鎖,還是寫鎖;
  • 非事務性引擎,不支持事務操作;
  • .frm文件存儲表定義,.MYD數據文件,.MYI索引文件;

舉個栗子:

mysql> create table t2 (id int) engine = MYISAM;
Query OK, 0 rows affected (0.01 sec)

這個 engine 如果不寫,默認的是innodb。

InnoDB

目前MySQL的默認存儲引擎。

  • 事務性引擎;
  • 不僅支持表鎖,而且還支持行鎖和外鍵,對性能的影響要好的多;
  • 爲巨大數據量的最大性能設計;
  • .ibdata1自動擴展數據文件,ib_logfile0/1日誌文件;

MEMORY

  • 將數據存儲到內存中的存儲引擎;
  • 快;
  • 不支持BLOB和TEXT列;
  • 非事務性引擎;
  • 內存,斷電丟失;
  • 讀寫頻繁,Session值,操作ID;

NDB

  • 用於MySQL Cluster的集羣存儲引擎;
  • 提供數據層面上的高可用性;
  • 多表查詢等複雜性查詢性能相對不是優勢,速度上差的很多和其他引擎比較;
  • 尚在不斷完善中......

存儲引擎比較

發佈了177 篇原創文章 · 獲贊 130 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章