为什么';t MySQL';s MyISAM引擎是否支持外键?

为什么';t MySQL';s MyISAM引擎是否支持外键?,mysql,database,innodb,myisam,Mysql,Database,Innodb,Myisam,我正在为我的学习编写一个web应用程序,其中包括全文搜索和外键 我在哪里读过,MyISAM引擎适合全文搜索,InnoDB适合外键 在这种情况下,我应该使用什么发动机来获得最佳性能 为什么MyISAM不支持外键关系,而InnoDB支持 为什么MyISAM支持全文搜索而InnoDB不支持 请告诉我,在这种情况下,我必须使用什么发动机来提高性能 每个存储引擎的性能将取决于您执行的查询。但是,请注意,同一数据库中的不同表可以使用不同的存储引擎 为什么MyISAM引擎不支持外键关系而InnoDB支

我正在为我的学习编写一个web应用程序,其中包括全文搜索和外键

我在哪里读过,MyISAM引擎适合全文搜索,InnoDB适合外键

在这种情况下,我应该使用什么发动机来获得最佳性能

  • 为什么MyISAM不支持外键关系,而InnoDB支持
  • 为什么MyISAM支持全文搜索而InnoDB不支持
  • 请告诉我,在这种情况下,我必须使用什么发动机来提高性能

    每个存储引擎的性能将取决于您执行的查询。但是,请注意,同一数据库中的不同表可以使用不同的存储引擎

  • 为什么MyISAM引擎不支持外键关系而InnoDB支持外键关系

    如以下文件所述:

    在稍后的阶段,还将为
    MyISAM
    表实现外键约束

    因此,
    MyISAM
    中还没有实现外键约束

  • 编辑:随着该注释从文档中删除,似乎不再计划在
    MyISAM
    引擎中实施外键约束

  • 为什么MyISAM引擎支持全文搜索而InnoDB不支持

    如以下文件所述:

    您可以在
    InnoDB
    表上创建
    FULLTEXT
    索引,并使用语法查询它们

    因此,从MySQL 5.6开始,InnoDB已经实现了全文搜索


  • 我确实记得mysql只有myisam,而innodedb正在开发的时候。MyIsam并没有外键,因为它是一个旧系统,不支持数据库中的关系。它永远不会使用外键!要使用它,您必须使用innodb。如果您不需要所有的东西,比如数据库中的关系,那么使用MyISAM可以获得更好的性能。

    哪里有
    地方
    ?我相信这是因为默认情况下,
    某个地方
    tooFeatures不存在。“需要有人来实施它们。”我从大学课本上读到过。这本书解释了引擎的优缺点。现在InnoDB支持全文搜索。我没有在MySQL文档中看到“在稍后的阶段,MyISAM表也将实现外键约束”的引语。也许这一功能已经被取消了?@shabbychef:你说得对,评论似乎在到之间的某段时间被删除了;我在当前文档的其他地方看不到任何说明FK约束将来仍适用于MyISAM的参考资料,也看不到有关此更改的任何特定文档/讨论/记录。所以,是的,我想这已经不是计划了。