MyISAM和InnoDB有什么区别?

我知道以前曾有人问过这个问题,但大多数时候都是针对特定的数据库或表提出这个问题。我无法在此站点上找到描述这两个引擎及其区别的答案,而不必顾及某人的特定数据库。


我希望将来能够在设计表或数据库方面做出更明智的决定,因此我正在寻找有关两个存储引擎之间差异的全面答案。


MyISAM和InnoDB之间有什么区别,当试图在彼此之间做出选择时我应该寻找什么?


DIEA
浏览 478回答 3
3回答

函数式编程

MYISAM:MYISAM支持表级锁定MyISAM专为速度需求而设计MyISAM不支持外键,因此我们将带有MYISAM的MySQL称为DBMSMyISAM使用单独的三个不同文件将其表,数据和索引存储在磁盘空间中。(tablename.FRM,tablename.MYD,tablename.MYI)MYISAM不支持交易。您无法使用MYISAM进行提交和回滚。发出命令后就完成了。MYISAM支持全文搜索如果表具有更多选择,而更新和删除较少,则该表更加静态,则可以使用MyISAM。INNODB:InnoDB支持行级锁定InnoDB设计用于在处理大量数据时发挥最大性能InnoDB支持外键,因此我们称InnoDB为MySQL是RDBMSInnoDB将其表和索引存储在表空间中InnoDB支持事务。您可以使用InnoDB进行提交和回滚

慕田峪7331174

在RDBMS中,“事务”是一个工作单元。基本上,一组DML语句(一个或多个)以“ START TRANSACTION”语句启动,并以“ ”语句完成COMMIT,或以“ ROLLBACK”语句撤消。至于事务中结果集的一致性,这取决于“隔离级别”。为了清楚起见,MyISAM引擎忽略ROLLBACK,COMMIT和START TRANSACTION语句。使用MyISAM,每个DML语句都被视为一个单独的事务,就像启用了AUTO_COMMIT一样运行。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

MySQL