[英]Why doesn't MySQL's MyISAM engine support Foreign keys?
我正在为我的学习编写一个网络应用程序,其中包括全文搜索和外键。
我读过某个地方,MyISAM引擎适合全文搜索,InnoDB适合外键。
在这种情况下,我应该使用哪种引擎以获得最佳性能?
请告诉我,在这种情况下,我必须使用哪种引擎来提高性能?
每个存储引擎的性能将取决于您执行的查询。 但是,请注意,同一数据库内的不同表可以使用不同的存储引擎。
为什么MyISAM引擎不支持外键关系而InnoDB支持呢?
如“ 外键差异”中所述 :
在稍后的阶段,还将为
MyISAM
表实现外键约束。
因此,在MyISAM
根本没有实现外键约束。
编辑 :由于该评论已从文档中删除,因此似乎不再计划在MyISAM
引擎中实现外键约束。
为什么MyISAM引擎不支持全文搜索,而InnoDB不支持全文搜索?
您可以在
InnoDB
表上创建FULLTEXT
索引,并使用MATCH() ... AGAINST
语法查询它们。
因此,从MySQL 5.6开始,全文搜索已在InnoDB
实现。
我确实记得mysql只有myisam和innodedb在开发中的时代。 MyIsam没有外键,因为它是旧系统,不支持数据库中的关系。 它永远不会使用外键! 要使用它,您需要innodb。 如果您不需要所有东西,例如数据库中的关系,请使用MyISAM获得更好的性能。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.