哪个发动机? InnoDb还是MyISAM?

时间:2014-09-19 11:25:33

标签: php mysql innodb myisam php-5.4

我使用php编写在线商店脚本。

一些脚本,例如使用MyISAM引擎的opencart和使用InnoDb的人。

现在我不知道使用哪种引擎? InnoDb还是MyISAM?

2 个答案:

答案 0 :(得分:1)

它完全取决于你的观点...功能明智.. InnoDb支持表关系而MyISAM不支持...但MyISAM支持InnoDb不支持的全文搜索

答案 1 :(得分:1)

InnoDB和MyISAM("关于设计表格或数据库"您问过的问题)是对参与完整性的支持"和"交易"。

如果您需要数据库来强制执行外键约束,或者您需要数据库来支持事务(即,作为单个工作单元处理的两个或更多DML操作所做的更改,应用了所有更改,或者所有更改然后你会选择InnoDB引擎,因为MyISAM引擎中没有这些功能。

这是两个最大的差异。另一个很大的区别是并发性。使用MyISAM,DML语句将获取表上的独占锁,并且在保持该锁的情况下,没有其他会话可以对表执行SELECT或DML操作。

您询问的两个特定引擎(InnoDB和MyISAM)有不同的设计目标。 MySQL还有其他存储引擎,有自己的设计目标。

因此,在InnoDB和MyISAM之间进行选择时,第一步是确定您是否需要InnoDB提供的功能。如果没有,那么MyISAM就可以考虑了。