innodb和myisam的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了innodb和myisam的区别相关的知识,希望对你有一定的参考价值。

innodb和myisam的区别为:事务不同、外键不同、索引不同。

一、事务不同

1、innodb:innodb不支持事务,无法回滚操作,还原数据。

2、myisam:myisam支持事务,可以回滚操作,还原数据。

二、外键不同

1、innodb:innodb支持外键。

2、myisam:myisam不支持外键。

三、索引不同

1、innodb:对于自增长的字段,InnoDB中必须包含只有该字段的索引。

2、myisam:对于自增长的字段,MyISAM表中可以和其他字段一起建立联合索引。

参考技术A

一、特色不同

1、innodb:与传统的ISAM与MyISAM相比,InnoDB的最大特色就是支持了ACID兼容的事务(Transaction)功能,类似于PostgreSQL。

2、myisam:MyISAM在提供数种对性能冲击较低的模式,不会降低事务的完整性。

二、劣势不同

1、innodb:InnoDB也提供数种对性能冲击较低的模式,但相对的也会降低事务的完整性。

2、myisam:不支持事务处理;MyISAM必须依靠操作系统来管理读取与写入的缓存;MyISAM的修复时间,则与数据量的多少成正比。

三、保存不同

1、innodb:InnoDB中不保存表的行数,如select count() from table时,InnoDB需要扫描一遍整个表来计算有多少行。

2、myisam:MyISAM只要简单地读出保存好的行数即可。

参考资料来源:

百度百科-myisam

百度百科-innodb

以上是关于innodb和myisam的区别的主要内容,如果未能解决你的问题,请参考以下文章

myisam和innodb的区别

myisam和innodb的区别 mysql5.6

innodb和myisam的区别

MySql InnoDB 和MyISAM的区别

mysql中myisam,innodb和memory三个存储引擎的区别

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