【问题标题】:Creating Fulltext Search Optimized创建全文搜索优化
【发布时间】:2010-12-01 05:06:17
【问题描述】:

目前我有以下全文索引设置:

全文在:

编号-名称-后缀-方向-城市-州-邮政编码

Select id, MATCH(Number, Name, Suffix, Direction, City, State, ZIPCode) 
AGAINST ("Test") as Relevance from test where 1, 
and  MATCH(Number, Name, Suffix, Direction, City, State, ZIPCode)     
AGAINST ("+Test" IN Boolean Mode) HAVING Relevance > 0.2

地址。它目前是 MySQL 的 MyISAM db 类型,但是我真的不喜欢当昂贵的查询命中时,它们会锁定整个表,并且超过一百万行,我正在尝试尽我所能进行优化。

切换到 Innodb 会对此有所帮助吗? Innodb 是否支持我对 MyISAM 的查询类型?

关于如何更好地优化此查询并保持全文搜索的任何其他建议?

谢谢!

【问题讨论】:

    标签: mysql optimization full-text-search


    【解决方案1】:

    InnoDB 不支持全文搜索。

    另一种选择是使用Sphinx,它易于设置且速度极快。

    【讨论】:

    • 将对此进行调查。还有其他显着的区别吗?
    • 在尝试优化大型应用程序时,我曾使用全文搜索进行过一段时间。表演马马虎虎。我们最终切换到 innodb 并使用额外的索引。性能大致相同,尽管完整的通配符搜索(例如,'%some%')会非常慢。最后,我切换到狮身人面像,永远不会回头。 Sphinx 与 MySQL 很好地集成,但作为一个单独的进程运行。
    • 真棒会试一试!谢谢:D
    猜你喜欢
    • 2011-08-29
    • 2019-05-16
    • 2011-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-20
    • 2021-12-19
    • 2012-02-14
    相关资源
    最近更新 更多