Mysql 5.7中全文索引和派生表的问题

Mysql 5.7中全文索引和派生表的问题,mysql,full-text-indexing,mysql-5.7,Mysql,Full Text Indexing,Mysql 5.7,我们最近将Mysql开发服务器从5.6.27升级到5.7.15。 升级后,我们在全文索引方面面临一些问题 我们的问题是: SELECT * FROM (SELECT * FROM TABLENAME WHERE COLUMN2=KEYWORD2)FOO WHERE MATCH(COLUMN1) AGAINST(KEYWORD IN BOOLEAN MODE) 注意:我们使用子查询筛选行,因为表中有超过4500万行 升级前查询通常在几秒钟内运行(最多1-2秒)。但升级后查询需要几分钟

我们最近将Mysql开发服务器从5.6.27升级到5.7.15。 升级后,我们在全文索引方面面临一些问题

我们的问题是:

SELECT * FROM 
    (SELECT * FROM TABLENAME WHERE COLUMN2=KEYWORD2)FOO
WHERE MATCH(COLUMN1) AGAINST(KEYWORD IN BOOLEAN MODE)
注意:我们使用子查询筛选行,因为表中有超过4500万行

升级前查询通常在几秒钟内运行(最多1-2秒)。但升级后查询需要几分钟

检查计划后,我们发现查询被优化为以下格式,因为在5.7.15中有一些对派生表的优化

SELECT * FROM TABLENAME
WHERE COLUMN2=KEYWORD2 AND MATCH(COLUMN1) AGAINST(KEYWORD IN BOOLEAN MODE).
因此,我们通过使用derived\u merge=off更改优化器开关变量来禁用派生表marge

但随后它开始给出错误,无法找到与列列表匹配的全文索引

在进一步的调查中,我们发现在mysql 5.7.6以后的版本中,内部临时表引擎从myisam更改为innodb。 因此,我们将内部\u tmp\u磁盘\u存储\u引擎更改为myisam(全文索引以布尔模式运行,无需创建索引)

然后它开始给出一个错误,即无法在具体化的子查询上创建全文索引

我们尝试从optmizer开关变量禁用具体化,但id没有帮助。
需要帮助解决此问题。

是否尝试在两列上创建单个全文索引而不使用子查询?是否尝试在两列上创建单个全文索引而不使用子查询?