Oracle / MySQL:如果数据库具有相同的模型,那么两个数据库都应该是InnoDB吗?

时间:2012-02-08 23:38:36

标签: mysql database oracle database-design

我对办公室里的东西感到有些困惑。我们为Oracle和MySQl提供了相同的数据库结构。

使用Data Modeler我们生成了两者的ER图,并且MySQL DB缺少关系。

根据我们的DBA,其原因在于这些表格是MyISAM以支持全文索引。但是我们确实在这些表上使用了很多关系,这就是Oracle版本确实显示它们的原因。

我们的数据库有什么对错?

1 个答案:

答案 0 :(得分:1)

我不确定你的问题是什么。如果你澄清,我会尝试提供更好的答案。

无论如何,MySQL有多个存储引擎。 MyISAM和InnoDB是其​​中两个(还有其他)。每个引擎都有不同的属性,如性能,功能等。

外键上的

Here's the MySQL docs

  

对于InnoDB以外的存储引擎,MySQL Server解析FOREIGN   CREATE TABLE语句中的KEY语法,但不使用或存储它。

  

MySQL为数据库开发人员提供了使用哪种方法的选择。   如果您不需要外键并希望避免开销   与强制参照完整性相关联,您可以选择   另一个存储引擎,如MyISAM。 (例如,   MyISAM存储引擎为应用程序提供了非常快的性能   只执行INSERT和SELECT操作......)。

换句话说,如果您使用MyISAM,则必须自己处理外键检查。 如果外键检查对您非常重要,那么我确实强烈建议您使用InnoDB。