2014-09-19 212 views
-1

我使用php编写在线商店脚本。哪个引擎? InnoDb或MyISAM?

一些脚本像Opencart的使用MyISAM引擎,并使用的是InnoDB的人。

现在我不知道使用哪个引擎? InnoDb或MyISAM?

+0

http://stackoverflow.com/questions/20148/myisam-versus-innodb?rq=1 – aldanux 2014-09-19 11:27:38

回答

1

这完全取决于你的看法......拥有聪明.. InnoDB支持表关系和MyISAM不...但是MyISAM的支持全文搜索未通过的InnoDB

支持
+0

谢谢。我现在没有MyISAM不支持关系。 – 2014-09-19 11:32:42

+2

FYI:现在最新的MySQL 5.6版本,它支持与InnoDB的全部测试搜索为well.http://dev.mysql.com/doc/refman/5.6/en/innodb-table-and-index.html#innodb-全文索引 – 2014-09-19 12:11:36

+0

那么我认为最好的选择是InnoDB的,如果MySQL的版本是5.6感谢@TapaswiPanda – justrohu 2014-09-19 12:15:16

1

的InnoDB和MyISAM(“与尊重设计一个表格或数据库“是你所提到的)是对”参照完整性“和”交易“的支持。

如果您需要数据库来强制实施外键约束,或者您需要数据库来支持事务(即将两个或多个DML操作所做的更改作为单个工作单元处理,并且应用所有更改或全部所做的更改恢复),那么您将选择InnoDB引擎,因为这些功能在MyISAM引擎中不存在。

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

这两个特定的引擎,你问(InnoDB和MyISAM数据)有不同的设计目标。 MySQL也有其他的存储引擎,有他们自己的设计目标。

所以,在InnoDB和MyISAM数据之间进行选择,第一个步骤是确定是否需要由InnoDB中提供的功能。如果没有,那么MyISAM就要考虑了。

+0

支持交易是类似购物车程序 – 2014-09-19 11:55:13

+0

尤为重要,我更喜欢的InnoDB的FKS和交易,但我有时需要对MyISAM全文搜索 – deadman 2014-09-19 11:59:57

相关问题