Mysql搜索 – InnoDB和用于FULLTEXT搜索的MyISAM事务

我目前正在研究为我的php项目提供高级搜索的最佳方法.

我已经缩小到使用FULLTEXT搜索而不是使用LIKE来查找表行中的匹配字符串.但是,要做到这一点,似乎我需要牺牲使用InnoDB引擎,这将使我失去事务和表关系的ACIDity.

是否真的值得使用MYISAM mysql引擎,或者有更好的方法来提供搜索功能.

任何指针将不胜感激!

最佳答案
它实际上取决于应用程序……使用MyISAM进行任何需要参照完整性的操作都是即时失败.与此同时,它的文本搜索效率并不高.

基本上,有两种方法可以去.如果您发现不需要真正的参照完整性,请考虑使用NoSQL数据存储区. MongoDB是一个很棒的文档存储数据库.

另一方面,如果您确实需要参照完整性,但还需要快速索引的全文搜索,则最好使用SphinxApache Solr为全文搜索创建索引缓存.

不管怎样,我认为MyISAM是一个遗留数据存储区.我不会在新项目中使用它.因人而异.

转载注明原文:Mysql搜索 – InnoDB和用于FULLTEXT搜索的MyISAM事务 - 代码日志