欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

MyISAM和InnoDB的主要区别和应用场景

程序员文章站 2022-05-25 16:18:03
主要区别: 1).MyISAM是非事务安全型的,而InnoDB是事务安全型的。 2).MyISAM锁的粒度是表级,而InnoDB支持行级锁定。 3).MyISAM支持全文类型索引,而InnoDB不支持全文索引。 4).MyISAM相对简单,所以在效率上要优于InnoDB,小型应用可以考虑使用MyIS ......

主要区别:

  • 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,这样可以提高多用户并发操作的性能。