我创建了两个具有相同列的两个不同存储引擎的表: table1(id,col1,col2) MyIsam 表 2(id,col1,col2) innodb 每张表包含 1700000
我在 2 个表中为 (col1,col2) 创建了全文索引 我有 2 个关键字,我需要提取包含它们的结果: “学校”和“公共(public)汽车” 我正在使用通配符来提取它们 select * from table1 其中 match(col1,col2) against ('+scho*+bus*')
- 表示完整截断的词
- 均值和
在 table1(MyIsam) 中结果不正确, 总共 26573,查询耗时 0.0009 秒 行包含任何关键字“学校”或“公共(public)汽车”
在 table2(innodb) 中结果是正确的, 总共 369 个,查询耗时 0.0420 秒 行包含“学校”和“公共(public)汽车”这两个词
谁能帮帮我?
最佳答案
我通过在 + 前加空格解决了这个问题 匹配 (col1,col2) 与 ('+scho* +bus*')
但是我还有一个问题,如果我想通过任何以任何东西结尾的关键字搜索,它无法显示, 如果我按关键字“学校”搜索 将 (col1,col2) 与 ('+chool') 匹配 0 行
关于带有全文搜索通配符的 MySql MyIsam 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30456116/