这些MySQL全文查询可以优化/更改运行速度更快吗?

我有一个包含多个记录的mysql数据库表(CommonWordsTable):

"word-A" - "words related to word-A"

例如:

columnA - columnB
chair   - furniture;table;office-chair;dining-chair;wooden chair;metal chair

我目前使用mysql全文匹配查询来匹配一个句子与这些单词:

select columnA, 
  max(match(columnA, columnB) against ('" + sentence + "')) as relevance 
from CommonWordsTable 
where match(columnA, columnB) against ('" + sentence + "') 
group by columnA 
order by relevance desc limit 5;

我使用了另一个查询,它从RareWordsTable表(具有相同的结构)中取出句子匹配单词,并将这些单词与CommonWordsTable匹配:

select columnA 
from CommonWordsTable 
where match(columnA, columnB) against( 
 (select concat(colA, ' ' , colB) 
  from RareWordsTable 
  where match(colA) against ('" + sentence + "') limit 1)
 )  
limit 3;

第一个查询需要大约50ms或更多,第二个查询大约需要100ms或更多。
我在columnA和columnB上使用联合全文索引,在colA上使用全文索引。 我也在缓存中加载这些索引。

有没有办法让这些查询运行得更快?

我已经尝试在CPU /内存较高的机器上运行这些,但这并没有太大的区别。
我也尝试过使用狮身人面像; 它运行速度更快,但不能提供相同的质量结果。

链接地址: http://www.djcxy.com/p/75261.html

上一篇: can these mysql fulltext queries be optimized/changed to run faster?

下一篇: MySQL Fulltext Stopwords Rationale