【问题标题】:mysql fulltext first/last nickname search is slowmysql全文第一个/最后一个昵称搜索很慢
【发布时间】:2013-03-07 00:11:35
【问题描述】:

我正在对 30-40 个工厂记录数据库使用全文搜索。其中 80% 在一张桌子上。我正在搜索名字和姓氏作为全文,因为全名可以以多种方式存储“比尔盖茨”“盖茨,比尔”“比尔和梅琳达盖茨”等。我们还有一个昵称数据库所以它将搜索“bill”、“will”、“william”等。查找昵称完全不需要时间,但是一旦我实现了包含昵称的查询,它现在需要更长的时间。

SELECT * FROM db1 
WHERE MATCH (Name) AGAINST (' +bill +gates 'IN BOOLEAN MODE) UNION ALL 
... (then the other 8 dbs the same) limit 500

相比:

SELECT * FROM db1 
WHERE MATCH (Name) AGAINST (' +("bill" "will" "william") +gates 'IN BOOLEAN MODE) UNION ALL 
... (then the other 8 dbs the same) limit 500

有没有办法加快速度?与 3-5 秒相比,搜索需要 40 多秒。像比尔盖茨这样的名字应该很容易达到 500 大关似乎需要更长的时间,即使它有更多的机会达到。

【问题讨论】:

    标签: php mysql performance full-text-search


    【解决方案1】:

    使用搜索引擎而不是 MySql 可以节省您的时间。 看看 Solr 或 Sphinx。

    Sphinx 有 mysql 插件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-03-24
      • 1970-01-01
      • 2013-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多