我正在为我的学习编写一个网络应用程序,其中包括全文搜索和外键。
我读过某个地方,MyISAM引擎适合全文搜索,InnoDB适合外键。
在这种情况下,我应该使用哪种引擎以获得最佳性能?
为什么MyISAM不支持外键关系而InnoDB支持呢?
为什么MyISAM支持全文搜索,但是InnoDB不支持全文搜索?
somewhere在哪里? 我相信这也是somewhere的解释
默认情况下不存在功能。 有人需要实现它们。
@ajreal我已经读过大学书了。 那本书解释了引擎的优缺点。
Kindly tell me, In this situation what engine I have to use for improve performance?
每个存储引擎的性能将取决于您执行的查询。但是,请注意,同一数据库内的不同表可以使用不同的存储引擎。
Why MyISAM engine does not support foreign key relationship and InnoDB does?
如"外键差异"中所述:
At a later stage, foreign key constraints will be implemented for MyISAM tables as well.
因此,MyISAM中尚未完全实现外键约束。
编辑:由于该评论已从文档中删除,因此似乎不再计划在MyISAM引擎中实现外键约束。
Why MyISAM engine does support full text search and InnoDB does not?
如MySQL 5.6新增功能中所述:
You can create FULLTEXT indexes on InnoDB tables, and query them using the MATCH() ... AGAINST syntax.
因此,从MySQL 5.6开始,全文搜索已在InnoDB中实现。
我看不到引号"在稍后阶段,还将为MyISAM表实现外键约束。" 在MySQL文档中。 也许该功能没有被限制?
@shabbychef:您说得对,似乎在2013年9月10日至2013年10月11日之间删除了评论; 我在当前文档的其他地方看不到任何引用,以表明FK约束将来仍将用于MyISAM,也看不到任何有关此更改的特定文档/讨论/记录。 所以是的,我想它已经不再计划了。
我确实记得mysql只有myisam和innodedb在开发中的时代。 MyIsam没有外键,因为它是旧系统,不支持数据库中的关系。它永远不会使用外键!要使用它,您需要innodb。如果您不需要所有东西,例如数据库中的关系,请使用MyISAM获得更好的性能。