mysql MyISAM 和 InnoDB

選擇正確的存儲引擎


在 MySQL 中有兩個存儲引擎 MyISAM 和 InnoDB,每個引擎都有利有弊。酷殼以前文章《MySQL: InnoDB 還是 MyISAM?》討論和這個事情。

MyISAM 適合於一些需要大量查詢的應用,但其對於有大量寫操作並不是很好。甚至你只是需要update一個字段,整個表都會被鎖起來,而別的進程,就算是讀進程都無法操作直到讀操作完成。另外,MyISAM 對於 SELECT COUNT(*) 這類的計算是超快無比的。

InnoDB 的趨勢會是一個非常複雜的存儲引擎,對於一些小的應用,它會比 MyISAM 還慢。他是它支持“行鎖” ,於是在寫操作比較多的時候,會更優秀。並且,他還支持更多的高級應用,比如:事務。

下面是MySQL的手冊

  • target=”_blank”MyISAM Storage Engine

  • InnoDB Storage Engine

d>myisam引擎,表級鎖,單鎖開銷小,但影響範圍大,適合讀多寫少的表,不支持事物日誌;表鎖定不存在死鎖
e>innodb引擎,行級鎖,鎖定行的開銷要比鎖定全表要大,但影響範圍小,適合寫操作比較頻繁的數據表;行級鎖可能存在死鎖。

InnoDB 還是 MyISAM?

mysql 中InnoDB和MyISAM的區別細節







發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章