MySQL LIKE vs BOOLEAN MODE(FULLTEXT)在何时何地使用?

时间:2016-12-20 04:56:43

标签: java mysql full-text-search

我想通过名字搜索大量记录。当我使用MySQL LIKE时,它会花费太多时间进行搜索。如果我在代码中使用fulltext搜索match(name) against(*linebre*) IN BOOLEAN MODE,会更快吗?

我检查了我的记录

MySQL赞

MariaDB [****]> select count(*) from contents where tags like "%а%";
+----------+
| count(*) |
+----------+
|    16927 |
+----------+
1 row in set (0.08 sec)

全文

MariaDB [****]> select count(*) from contents where match(tags) against('*а*' IN BOOLEAN MODE);
+----------+
| count(*) |
+----------+
|     6665 |
+----------+
1 row in set (0.06 sec)

似乎我在FULLTEXT搜索时使用了错误。有很大的不同。

我该怎么用呢?哪一个很方便使用?

1 个答案:

答案 0 :(得分:2)

此处不知道count的要求是什么,但您可以尝试

select count(*) from contents where match(tags) against('а' IN BOOLEAN MODE);

希望有所帮助