首先innodb支援事務,可以進行事務的回滾,而myisam不支援事務
所以在更新比較多或者插入比較多的時候使用innodb
再者就是innodb支援的是行級鎖定(某些情況下會表級,例如出現以%開頭的模糊查詢),myisam支援的表級鎖定(表級鎖定和行級鎖定就從字面理解),即在進行表內資料的操作時,myisam會鎖定整個表,而不能進行其他的操作,索引進行資料的讀取時使用myisam比較好,myisam索引和資料是分開的,而且其索引是壓縮的,可以更好地利用記憶體。所以它的查詢效能明顯優於innodb。壓縮後的索引也能節約一些磁碟空間。myisam擁有全文索引的功能,這可以極大地優化like查詢的效率。
還有一些就是innodb有外來鍵,而myisam沒有外來鍵,
清空整個表時,innodb 是一行一行的刪除,效率非常慢。myisam 則會重建表;
Mysql引擎 Innodb和MyISAM的區別
本文是摘抄其他網文整理而成。create database engine innodb mysql 資料庫分為innodb和myisam兩類。兩者最主要的區別是 innodb支援事務處理 外來鍵和行級鎖.而myisam不支援,所以如果cud比較頻繁或要求事務一致性的,使用innodb比較好,反之使用...
MySQL引擎 InnoDB和MyISAM的區別
mysql 是乙個支援多引擎的系統,主要有以下幾種 而在實際應用中,比較常用的就是innodb和myisam這兩種,但是大多數人都不太清楚兩者的區別,為什麼myisam會被innodb取代?這篇文章就重點討論它們的區別。crash safe簡單來說,就是即使資料庫發生異常重啟,之前提交的記錄也不會丟...
MYSQL儲存引擎InnoDB和myisam區別
mysql5.5之後的預設儲存引擎 如果你為乙個表指定auto increment列,在資料詞典裡的innodb表控制代碼包含乙個名為自動增長計數器的計數器,它被用在為該列賦新值。自動增長計數器僅被儲存在主記憶體中,而不是存在磁碟上 關於該計算器的演算法實現,請參考 auto increment列在...