Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
这些mysql全文查询是否可以优化/更改以运行得更快?_Mysql_Full Text Search - Fatal编程技术网

这些mysql全文查询是否可以优化/更改以运行得更快?

这些mysql全文查询是否可以优化/更改以运行得更快?,mysql,full-text-search,Mysql,Full Text Search,我有一个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,

我有一个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;
第一个查询大约需要50毫秒或更长时间,第二个查询大约需要100毫秒或更长时间。 我在columnA和columnB上使用联合全文索引,在colA上使用全文索引。我还在缓存中加载这些索引

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

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

从CommonWordsTable中选择不同的columnA、maxmatchcolumnA、columnB与“+句子+”作为相关性,其中matchcolumnA、columnB与“+句子+”按列分组按相关性顺序描述限制5;这里不需要distinct,因为您已经有一个group by。您是对的。我改了。谢谢