我正在为我的学习编写一个网络应用程序,其中包括全文搜索和外键。
我在某处读过,MyISAM引擎适用于全文搜索,而InnoDB适用于外键。
在这种情况下,我应该使用什么引擎才能获得最佳性能?
答案 0 :(得分:41)
请告诉我,在这种情况下,我必须使用什么引擎来提高性能?
每个存储引擎的性能取决于您执行的查询。但请注意,同一数据库中的不同表可以使用不同的存储引擎。
为什么MyISAM引擎不支持外键关系和InnoDB呢?
稍后,还将为
MyISAM
表实施外键约束。
因此,在MyISAM
。
编辑:当该评论从文档中删除时,似乎不再计划在MyISAM
引擎中实现外键约束。
为什么MyISAM引擎支持全文搜索而InnoDB不支持?
您可以在
FULLTEXT
表上创建InnoDB
索引,并使用MATCH() ... AGAINST
语法查询它们。
因此,自MySQL 5.6起,InnoDB
已实施全文搜索。
答案 1 :(得分:0)
我确实记得mysql只有myisam和innodedb正在开发的时代。 MyIsam没有外键,因为它是不支持数据库关系的旧系统。永远不会使用外键!使用它你有innodb。如果您不需要所有内容,例如DB中的关系,请使用MyISAM来获得更好的性能。