MySQL 数据库引擎
2018-01-16 本文已影响4人
SHAN某人
Mysql 数据库最常用的两种引擎是InnoDB 和MyISAM 。其他还有ISAM,HEAP 。这里主要解析下最常见的两种InnoDB和MyISAM。
InnoDB的功能要比MyISAM 强大很多,但是InnoDB的性能要比MyISAM 差一些。InnoDB占用的空间比MyISAM也要大。
主要区别:
- MyISAM 是 非事务安全型的,而InnoDB是事务安全型的。
- MyISAM 锁的粒度是表级,而InnoDB支持行级锁定。
- MyISAM 支持全文类型索引,而InnoDB不支持
- MyISAM相对简单,所以效率上要优于 InnoDB,小型应用可以考虑使用MyISAM
- MyISAM是保存成文件的形式,在跨平台的数据转移中使用 MyISAM 存储会省去不少的麻烦。
- InnoDB表比MyISAM更安全,可以保证在数据不会丢失的情况下切换到事务表
alter table table_name type = innodb
应用场景:
- MyISAM 管理非事务表,它提供高速存储和检索,以及全文检索能力。如果应用中需要执行大量的 SELECT 查询,那么MyISAM是比较好的选择
- InnoDB 应用于事务处理应用程序,具有众多特性,包括ACID事务支持。如果应用中需要进行大量的 INSERTE或者 UPDATE操作,则应该使用 InnoDB ,这样可以提高多用户并发操作的性能。
待细化
待补充
待修正