为了账号安全,请及时绑定邮箱和手机立即绑定

MyISAM和InnoDB有什么区别?

MyISAM和InnoDB有什么区别?

DIEA 2019-11-04 15:53:42
我知道以前曾有人问过这个问题,但大多数时候都是针对特定的数据库或表提出这个问题。我无法在此站点上找到描述这两个引擎及其区别的答案,而不必顾及某人的特定数据库。我希望将来能够在设计表或数据库方面做出更明智的决定,因此我正在寻找有关两个存储引擎之间差异的全面答案。MyISAM和InnoDB之间有什么区别,当试图在彼此之间做出选择时我应该寻找什么?
查看完整描述

3 回答

?
函数式编程

TA贡献1807条经验 获得超9个赞

MYISAM:

  1. MYISAM支持表级锁定

  2. MyISAM专为速度需求而设计

  3. MyISAM不支持外键,因此我们将带有MYISAM的MySQL称为DBMS

  4. MyISAM使用单独的三个不同文件将其表,数据和索引存储在磁盘空间中。(tablename.FRM,tablename.MYD,tablename.MYI)

  5. MYISAM不支持交易。您无法使用MYISAM进行提交和回滚。发出命令后就完成了。

  6. MYISAM支持全文搜索

  7. 如果表具有更多选择,而更新和删除较少,则该表更加静态,则可以使用MyISAM。

INNODB:

  1. InnoDB支持行级锁定

  2. InnoDB设计用于在处理大量数据时发挥最大性能

  3. InnoDB支持外键,因此我们称InnoDB为MySQL是RDBMS

  4. InnoDB将其表和索引存储在表空间中

  5. InnoDB支持事务。您可以使用InnoDB进行提交和回滚


查看完整回答
反对 回复 2019-11-04
?
慕田峪7331174

TA贡献1828条经验 获得超13个赞

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

查看完整回答
反对 回复 2019-11-04
  • 3 回答
  • 0 关注
  • 477 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信