【发布时间】:2021-02-03 16:32:45
【问题描述】:
我有多个字段的 Mysql 表,我正在使用 api 在这些标签中搜索一个或多个单词:
myTable(id, label1, label2, label3, label4, label5)
所以我在 所有字段(label1、label2、label3、label4、label5)上创建了 1 个 FULLTEXT 索引 使用请求:
CREATE FULLTEXT INDEX search_index_mytable ON myTable(label1, label2, label3, label4, label5);
使用示例:我要查找单词:word1、word2、word3
-- example 1
SELECT id
FROM myTable
WHERE MATCH(label1, label2, label3, label4, label5 )
AGAINST ('word1* word2* word3*' IN BOOLEAN MODE)
-- example 2
SELECT id
FROM myTable
WHERE MATCH(label1, label2, label3, label4, label5 ) AGAINST ('word1*' IN BOOLEAN MODE)
OR MATCH(label1, label2, label3, label4, label5 ) AGAINST ('word2*' IN BOOLEAN MODE)
OR MATCH(label1, label2, label3, label4, label5 ) AGAINST ('word3*' IN BOOLEAN MODE)
我的问题是:哪个请求示例最快?他们是平等的吗?
非常感谢
【问题讨论】:
标签: mysql sql database indexing full-text-search