我应该将什么类型的引擎(InnoDB或MyISAM)用于我的网站数据库?

时间:2010-12-22 23:47:08

标签: mysql relational-database

我有一个详细的ERD,它有gen / spec(继承)和很多主键和外键的使用。我要用PHP开发我的网站,所以请帮帮我。我等你好应答。

4 个答案:

答案 0 :(得分:4)

个人意见:你不应该将MyISAM用于任何新事物。 InnoDB支持MyISAM没有的大量功能,最重要的是交易,其次是参照完整性和一堆其他项目。

许多人会试图争辩说MyISAM更快,所以它仍然有一个地方,但是a)差距已经大大缩小,加速可以在数据库之外完成(即memcached等),和b)一个包含错误数据的快速数据库并不是那么有用。

答案 1 :(得分:1)

如果您有ERD(关系数据库建模术语),那么您将没有“gen spec”,您将拥有Relationallly建模的Supertype-Subtype表。如果您有“gen spec”,那么您没有Relational数据库,那么您有一个文件系统可以保存您的对象。那么,你有哪一个?

如果您有关系数据库,那么肯定会使用InnoDB。 MyISAM不是“关系型”,因为没有声明性参照完整性等等。

如果你有“gen-spec”,因为它不是Relational,你不需要Relational功能或Relational引擎,MyISAM很好。实际上你的C:驱动器很好。

答案 2 :(得分:0)

如果您计划强制执行主键和外键关系(我建议使用),您应该使用InnoDB。 MyISAM不支持此类功能来强制执行参照完整性。

答案 3 :(得分:0)

从MySQL 5.5开始,InnoDB将成为默认的存储引擎。如果您打算使用MySQL,那么这应该是您的选择。 http://dev.mysql.com/doc/refman/5.5/en/innodb-default-se.html

相关问题