MyISAM和InnoDB的主要區別和應用場景

chenfeng發表於2016-05-31
主要區別:
  • 1).MyISAM是非事務安全型的,而InnoDB是事務安全型的。
  • 2).MyISAM鎖的粒度是表級,而InnoDB支援行級鎖定。
  • 3).MyISAM支援全文型別索引,而InnoDB不支援全文索引。
  • 4).MyISAM相對簡單,所以在效率上要優於InnoDB,小型應用可以考慮使用MyISAM。
  • 5).MyISAM表是儲存成檔案的形式,在跨平臺的資料轉移中使用MyISAM儲存會省去不少的麻煩。
  • 6).InnoDB表比MyISAM表更安全,可以在保證資料不會丟失的情況下,切換非事務表到事務表(alter table tablename type=innodb)。

應用場景:
  • 1).MyISAM管理非事務表。它提供高速儲存和檢索,以及全文搜尋能力。如果應用中需要執行大量的SELECT查詢,那麼MyISAM是更好的選擇。
  • 2).InnoDB用於事務處理應用程式,具有眾多特性,包括ACID事務支援。如果應用中需要執行大量的INSERT或UPDATE操作,則應該使用InnoDB,這樣可以提高多使用者併發操作的效能。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2109792/,如需轉載,請註明出處,否則將追究法律責任。

相關文章