我使用php编写在线商店脚本。
一些脚本,例如使用MyISAM引擎的opencart和使用InnoDb的人。
现在我不知道使用哪种引擎? InnoDb还是MyISAM?
答案 0 :(得分:1)
它完全取决于你的观点...功能明智.. InnoDb支持表关系而MyISAM不支持...但MyISAM支持InnoDb不支持的全文搜索
答案 1 :(得分:1)
InnoDB和MyISAM("关于设计表格或数据库"您问过的问题)是对参与完整性的支持"和"交易"。
如果您需要数据库来强制执行外键约束,或者您需要数据库来支持事务(即,作为单个工作单元处理的两个或更多DML操作所做的更改,应用了所有更改,或者所有更改然后你会选择InnoDB引擎,因为MyISAM引擎中没有这些功能。
这是两个最大的差异。另一个很大的区别是并发性。使用MyISAM,DML语句将获取表上的独占锁,并且在保持该锁的情况下,没有其他会话可以对表执行SELECT或DML操作。
您询问的两个特定引擎(InnoDB和MyISAM)有不同的设计目标。 MySQL还有其他存储引擎,有自己的设计目标。
因此,在InnoDB和MyISAM之间进行选择时,第一步是确定您是否需要InnoDB提供的功能。如果没有,那么MyISAM就可以考虑了。