MySQL ..使用全文搜索或使用Like?什么是更好的?

时间:2010-03-16 23:27:51

标签: php mysql full-text-search sql-like

我正在为我的应用程序开发搜索功能,我想搜索数据库中的所有文章。截至目前,我在查询中使用LIKE,但我想添加一个“相关文章”功能,有点像侧边栏中的SO(如果我使用Like,我认为这是一个问题) )。

最好用于MySQL搜索,全文或类似...或者我可能不知道的任何其他内容?

另外,我正在使用Kohana框架,所以如果有人知道使用查询构建器进行全文匹配的简单方法,我会很感激。

感谢。

1 个答案:

答案 0 :(得分:2)

首先,你必须考虑:

  • MySQL FULLTEXT indexes仅适用于MyISAM中的表格 - 不适用于InnoDB中的表格
    • 只有InnoDB支持外键,交易......
  • 使用LIKE通常非常慢而且不适合表演,因为它通常意味着每次搜索都会对表格进行全面扫描。

我真的不会将这两种解决方案中的任何一种用于任何大/真/重要的应用......


您是否考虑使用真正的全文索引/搜索引擎而不是这两种可能性?

例如,您可能需要查看:

请注意,Lucene的实现仅在Zend Framework中需要PHP:Zend_Search_Lucene - 如果您无法在服务器上安装任何附加软件,则可能会有用。