1. 程式人生 > >MyISAM和InnoDB的主要區別和應用場景

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

事務安全 形式 acid sam 小型 inno type update 情況下

主要區別:

  • 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,這樣可以提高多用戶並發操作的性能。

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