【Mysql】myisam和innodb的区别?

0 回答

  • myisam引擎是5.1版本之前的默认引擎,支持全文检索、压缩、空间函数等,但是不支持事务和行级锁,所以一般用于有大量查询少量插入的场景来使用,而且myisam不支持外键,并且索引和数据是分开存储的。
  • innodb是基于聚簇索引建立的,和myisam相反它支持事务、外键,并且通过MVCC来支持高并发,索引和数据存储在一起。

1 什么时候用InnoDB,什么时候用MyIsam?

MySQL 引擎 InnoDB 和 MyISAM 是 MySQL 中常用的两种存储引擎,它们具有以下不同的特点:

  • InnoDB 支持事务,而 MyISAM 不支持事务。

  • InnoDB 支持行级锁定,而 MyISAM 支持表级锁定。在并发访问的情况下,InnoDB 的性能更好。

  • InnoDB 支持外键约束,而 MyISAM 不支持外键约束。

  • InnoDB 支持崩溃恢复和故障转移,而 MyISAM 不支持。

  • InnoDB 支持自动增量列,而 MyISAM 也支持自动增量列。

综上所述:**如果需要支持事务、外键约束和并发访问,以及更好的崩溃恢复和故障转移能力,建议使用 InnoDB 引擎。**如果只是进行简单的数据存储和查询,并且需要更快的性能,可以考虑使用 MyISAM 引擎。但需要注意的是,MySQL 5.5 版本之后默认的存储引擎是 InnoDB,因此在选择存储引擎时需要考虑到版本的兼容性。

2

你可能感兴趣的:(mysql,数据库)