小编Har*_*yan的帖子

在另一个FULLTEXT索引上使用INDEX和MATCH会出现错误"无法找到与列列表匹配的FULLTEXT索引"

现在在vBulletin板上工作,该板在带有InnoDB表引擎的MySQL 5.6.21上运行.vBulletin中有一个默认查询,它在一列上使用索引提示,同时在另外两列上使用全文索引.查询看起来像

SELECT postid, post.dateline FROM post AS post 
USE INDEX (threadid) 
INNER JOIN thread AS thread ON(thread.threadid = post.threadid) 
WHERE MATCH(post.title, post.pagetext) AGAINST ('+atlantic +blue +tang' IN BOOLEAN MODE) 
AND thread.threadid = 170467;
Run Code Online (Sandbox Code Playgroud)

这给出了错误

#1191 - 找不到与列列表匹配的FULLTEXT索引

删除USE INDEX解决了问题.

这肯定不会发生在FULLTEXT索引的MyISAM实现上,因为这是vBulletin上的默认查询,并且它在所有板上运行良好.

是否有可能这是InnoDB的一些配置,导致这个问题?我们无法控制查询本身,因此寻找一种方法来解决服务器配置级别的问题.

编辑:包括SHOW CREATE TABLE帖子

CREATE TABLE `post` (
 `postid` int(10) unsigned NOT NULL AUTO_INCREMENT,
 `threadid` int(10) unsigned NOT NULL DEFAULT '0',
 `parentid` int(10) unsigned NOT NULL DEFAULT '0',
 `username` varchar(100) NOT NULL DEFAULT '',
 `userid` int(10) unsigned …
Run Code Online (Sandbox Code Playgroud)

mysql innodb vbulletin fulltext-index

6
推荐指数
1
解决办法
588
查看次数

标签 统计

fulltext-index ×1

innodb ×1

mysql ×1

vbulletin ×1