MySQL全文性能解决方案

MySQL全文性能解决方案,mysql,performance,full-text-search,Mysql,Performance,Full Text Search,如何处理以下查询: select ... from ... where match(field1) against('someA') and match(field2) against('someB') limit 50 如果针对('someA')的条件匹配(field1)和针对('someB')的匹配(field2)返回的结果都很大,那么整个查询将非常非常慢 解决这个问题的方法?也许能为您有效地解决这个问题。Sphinx提供了强大的全文搜索功能。我不确定这是否正是您想要做的,但听起来很接近。

如何处理以下查询:

select ... from ... where match(field1) against('someA') and match(field2) against('someB') limit 50
如果针对('someA')的条件匹配(field1)和针对('someB')的匹配(field2)返回的结果都很大,那么整个查询将非常非常慢


解决这个问题的方法?

也许能为您有效地解决这个问题。Sphinx提供了强大的全文搜索功能。我不确定这是否正是您想要做的,但听起来很接近。

您可以为两列
field1
field2
创建另一个
FULLTEXT
索引。然后使用以下命令同时搜索两个搜索词:

MATCH(field1, field2) AGAINST ('+someA +someB') IN BOOLEAN MODE  
当然,这可以找到
field1
同时包含两个搜索词,而
field2
既不包含两个搜索词的行。我不确定你的应用程序的确切要求