【问题标题】:MySQL.. search using Fulltext or using Like? What is better?MySQL .. 使用全文搜索还是使用 Like?什么是更好的?
【发布时间】:2010-03-16 23:27:51
【问题描述】:

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

对于 MySQL 搜索、全文或 Like... 或其他我可能不知道的内容,什么更好?

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

谢谢。

【问题讨论】:

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


    【解决方案1】:

    首先,你必须考虑到:

    • MySQL FULLTEXT indexes 仅适用于 MyISAM 中的表——不适用于 InnoDB 中的表
      • 而且只有 InnoDB 支持外键、事务...
    • 使用LIKE 通常会很慢并且对性能不利,因为这通常意味着每次搜索都要对表进行全扫描。

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


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

    例如,您可能想看看:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-06
      • 1970-01-01
      • 1970-01-01
      • 2011-11-23
      • 2010-10-30
      • 2011-08-03
      • 2016-08-02
      • 2012-03-03
      相关资源
      最近更新 更多